Windows Workflow Foundation之旅(六)——框架组成、工作流创作模式
Windows Workflow Foundation之旅(六)——框架组成<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
翻译自:ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/68db11eb-3d20-41ca<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />-90f7-ae635fd4e2a2.htm
这个专题前面的三个指南,介绍了WWF编程了三个大方面:顺序工作流、状态机工作流和自定义活动。相信大家对WWF的编程模型已经有了一个初步的了解。从这次开始,我们就要深入WWF,全面的探究一下WWF。
传统的编程语言是针对短期运行应用程序的,缺乏持久化和抗中断的功能支持。WWF是一个框架,不是一种语言。他对工作流应用程序有深刻的认识,提供了各种手段来处理持久化,中断补偿,故障恢复等功能。
WWF同时具有灵活性和可扩展性。你可以直接用代码定义工作流,也可以用外部的定义语言也定义,或同时使用两者。你可以用你自己的自定义活动来实现自定义的工作流模式,以到达可重用的目的。
WWF支持模型驱动的开发,提供了可视化的设计工具,并隐藏了一些系统级的功能,如事务、状态管理和并发控制,是开发者可以专注于业务模型。
WWF中的工作流和活动
工作流是一组相关的活动的集合。
活动是WWF中可建模、可编程、可重用、可执行的原子单位。WWF提供了一组丰富的活动库,来构建你的工作流。
WWF的工作流应用程序
一个应用程序必须做以下步骤,才能使用WWF:
1. 创建一个WorkflowRuntime类的实例。它代表了工作流引擎。
2. 为运行时引擎配置服务。
3. 启动引擎。
4. 使用引擎来创建和管理工作流。
当工作流运行时, 引擎使用大量的可插拔的服务来处理持久化、事务、线程、跟踪和计时器等任务。
你可以通过配置这些服务来扩展和修改运行时引擎的行为,也可以创建自定义的服务来提供另外的功能。
(译者)很多朋友在回复中提了几个方面的疑问。这里我统一解答下:
n WWF支持以编程方式,固化的定义工作流,也支持以XML文件形式定义工作流。
n WWF可以以编码的方式来创建工作流,也可以用工作流模型设计工具来定义,这些工具集成在了vs2005中。我会在以后的随笔中介绍设计工具。用设计工具创作的工作流也可以导出为XML定义。
n WWF目前也处于测试阶段,不太适合于商用。
n WWF目前版本仅支持.NET Framework 2.0。而vs2005又不支持1.1,所以,vs.net2003下不能开发WWF应用。
下面列出的是你在创建工作流中会用到的一些概念。
Ø 顺序工作流
Ø 状态机工作流
Ø 工作流创作模式
Ø 使用活动控制流程
Ø 在工作流中使用条件
Ø 在工作流中使用事务
Ø 获得工作流中的状态信息
Ø 在工作流中使用异常
Ø 在工作流中使用补偿?(Compensation)
Ø 使用时间处理活动
Ø 在工作流中使用代码
Ø 在工作流中使用动态更新
Ø 在工作流中使用数据
Ø 在工作流中使用角色
Ø 在工作流中使用XML支持
Ø 编译工作流
Ø 序列化工作流
之后的篇章中,我讲详细解释以上的概念。
工作流创作模式
ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/aacf4ec6-da05-4974-958a-974769dda739.htm
WWF支持两种不用的工作流创作风格:顺序工作流和状态机工作流。顺序工作流只向前运行的,它也用于那些重复的,流程相对固定的场景中。状态机工作流讲工作流设计为一个状态机。工作流本身包含了一组状态。
默认情况下,WWF将工作流定义与业务逻辑分隔开。在一个典型的创作场景中,设计着使用设计器来设计工作流定义,然后使用C#或其他.NET语言也编写业务逻辑。这种创作模式叫代码分隔(code-separation)。
WWF支持以下创作模型:
l Code-only 这是WWF默认的创作模式。在这种模式下,你需要使用WWF的API,以编程的方式用代码来定义工作流。工作流定义代码和业务逻辑代码将混合在一起。
l Code-separation 这种模式可以同时使用设计器和代码。
l No-code 这种方式下,你可以使用任何的文本编辑器来定义工作流,然后使用WWF命令行编译器来编译文本工作流定义。
想了解更多工作流创作模式的信息,请看 顺序工作流,状态机工作流,在工作流中使用代码,编译工作流(没有链接的章节在将写好后加上链接)。
待续...
Windows Workflow Foundation之旅(七)——顺序工作流、状态机工作流
转载于:https://www.cnblogs.com/windwolfreal/archive/2005/12/21/301396.html
Windows Workflow Foundation之旅(六)——框架组成、工作流创作模式相关推荐
- 《Windows Communication Foundation之旅》系列之一
<Windows Communication Foundation之旅>系列之一 前言:WCF是微软基于SOA(Service Oriented Architecture)推出的.Net平 ...
- Microsoft Windows Workflow Foundation 入门:开发人员演练
有关向 Windows 平台添加工作流支持的初步知识 Microsoft Windows Workflow Foundation (WWF) 是一个可扩展框架,用于在 Windows 平台上开发工作流 ...
- 《Windows Communication Foundation之旅》系列之二
<Windows Communication Foundation之旅>系列之二 三.WCF的技术要素 作为基于SOA(Service Oriented Architecture)的一个框 ...
- 你还记得windows workflow foundation吗
很多年前,windows workflow foundation还叫WWF,而直译过来的名称让很多人以为它就是用来开发工作流或者干脆就是审批流的. 博主当年还是个懵懂的少年,却也知道微软不会大力推一个 ...
- Windows Workflow Foundation(一)(转载)
组织并执行一系列的操作或者活动的最自然的方式--那就是工作流--同时也是构造一个工作流程的可执行表现形式的最佳途径. Windows Workflow Foundation(以下简称WWF)提供了 ...
- Windows Workflow Foundation 4.0
转:http://www.cnblogs.com/foundation/category/215023.htm WF4.0 技术文章 WF4.0 流程设计器例子 (提供状态机模板) 摘要: WF4.0 ...
- Windows Workflow Foundation(1)- Windows Workflow Foundation 概述
Windows Workflow Foundation(第一章)- Windows Workflow Foundation 概述 工作流概述 活动(Activity)是工作流的基本单元,用于描述实际进 ...
- Windows Workflow Foundation(一)
组织并执行一系列的操作或者活动的最自然的方式--那就是工作流--同时也是构造一个工作流程的可执行表现形式的最佳途径. Windows Workflow Foundation( 以下简称WWF)提供 ...
- Windows workflow foundation入门
Microsoft Windows Workflow Foundation (WWF) 是一个可扩展框架,用于在 Windows 平台上开发工作流解决方案.作为即将问世的 Microsoft WinF ...
最新文章
- 构建现代化的命令行工具
- go map的定义和使用 键值对存储
- 思科交换机Vlan配置以及VLAN应用场景
- 马斯克和贝索斯的“星球大战”
- Python web开发——自定义userprofile(用户描述)
- Linux系统编程40:多线程之基于环形队列的生产者与消费者模型
- 按键精灵 -获取窗口句柄
- pcb天线和纯铜天线_蓝牙模块采用陶瓷天线和PCB天线的区别
- 芝加哥大学计算机专业硕士,芝加哥大学计算机硕士录取条件有哪些?_托普仕留学...
- 搭建Hadoop开发环境(全过程)
- 基于java的网上鲜花销售系统
- 面试官:你在平时的工作中遇到过哪些问题让你印象深刻?
- 【camera】【摄像头模组】摄像头模组简单介绍
- 西山小菜鸟之Scrapy学习笔记---爬取企查查网站公司基本信息
- html思维导图word版,(完整word版)非谓语动词练习及思维导图
- 切换到/etc/ppp/ipup文件,写出操作命令过程,并显示详细过程,和推迟30秒关机命令
- MATLAB+mmap
- Python实用技巧:global关键字的用法详解
- 解读,产业链和价值链的联系和区别
- 金岭矿业:增发收购集团矿产 买入
热门文章
- coreboot学习6:ramstage阶段之芯片初始化流程
- 一分钟学会看k线图_1分钟学会看K线请笑纳70种经典K线组合形态,绝对干货,轻松低买高卖!...
- 【clickhouse】clickhouse TCP 方式发送数据 ClickHouse-Native-JDBC
- 95-910-165-源码-FlinkSQL-Flink SQL 中的时间属性
- 【ElasticSearch】深入理解 relocating rebalance 对Elasticsearch集群的影响
- 【clickhouse】clickhouse表引擎之ReplacingMergeTree
- 【Redis】Redis替代方案
- javacc案例之统计字符
- Kafka : WARN Error while fetching metadata with correlation id xx : {=UNKNOWN_TOPIC_OR_PARTITION}
- 华为上机试题 c语言,华为上机考试题库2017 2017年全国计算机等级考试C语言上机考试题库 -1-20套.doc...