WF综合技术演示的例子
2010-10-01 08:18:06 来源:WEB开发网本文源代码下载地址:
http://flashview.ddvip.com/2009_02/WF0016.rar
发一个以WF为中心的综合技术演示的例子,在这个例子我分别用WPF,WinForm,ASP.NET,Silverlight实现了四个客户端,每个客户端的UI风格与功能完全一样,便于大家使用
WorkflowRuntime宿主使用WCF发布,提供了对Silverlight的跨域访问,提供了大字串传递的配置
如果你对WPF,WinForm,ASP.NET,Silverlight引用WCF不熟悉,需用先学习WCF的知识
WPF,WinForm,ASP.NET,Silverlight你只需用掌握一样就可以完成本例的客户端开发
对数据库的操作,本例使用Ling To SQL ,果你对Ling To SQL不熟悉,需用先学习Ling To SQL的知识,或将这部分改为你所熟悉的数据库操作方式
本例不太适合WF的初学者
为了让大家对WF有一个总体的认识,以下说明我用问答方式来写
问:如果我想让用户可以自定义流程,但用户不会写代码,该怎么做?
答:建议用XOML无代码格式的工作流,实现方式看本例
问:如果我流程分支的条件判断很复杂,而且总变,有什么方案?
答:建议用rule外置方式,实现方式看本例
问:WorkflowRuntime宿主用什么? [ IIS 加载项] , [Windows服务] , [Windows 应用程序], [ASP.NET 中Application 缓存] ,[COM+]
答:建议用 [Windows服务] ,本例为了演示方便,使用的是[Windows 应用程序],
问:如果使用[Windows 应用程序] 或 [Windows服务],使用什么方式与客户端通信
答:建议使用WCF
问:客户端使用什么?[WPF] ,[WinForm] ,[ASP.NET],[Silverlight]
答:都可以,本例[WPF] ,[WinForm] ,[ASP.NET],[Silverlight]的客户端都提供了
问:Silverlight如何访问 [Windows服务] , [Windows 应用程序]中的WCF服务
答:在WCF服务添加一个跨域访问的服务,,实现方式看本例
问:工作流模板提供方式? [DLL] ,[XOML文件] ,[数据库]
答::建议使用[数据库]
问:WF中有状态维护,有跟踪,还需要自已维护一个状态表吗?
答:强烈建议,本例就自已维护了一个状态表
问:关于流程设计器?
答:对于XOML来说,[记事本],就是一个流程设计器,如果要提供一个可视化的流程设计器,只需操XOML文件既可,XOML是一个XML格式文件.也可使用WF提供的设计器控件本例没有提供可视化的流程设计器,对这方面感兴趣可以看我关于这方面的文章
问:需要动态表单设计器吗?
答:建议提供,否则将无法真正实现"让用户自已做流程"的目的,本例没的提供流程设计器,对这方面感兴趣可以看我关于这方面的文章
问:如果不写代码,流程的具体结点功能如何实现?
答:封装成自定义Activty,实现方式看本例
问:如果不写代码,自定义Activty之间如何通信?
答:使用DependencyProperty,实现方式看本例
问:可以在工作流启动或运行环节中向流程传递数据吗?
答:可以,实现方式看本例
问:可以在工作流启动或运行环节中动态添加或删除节点吗?
答:可以,本例没的提供,对这方面感兴趣可以看我关于这方面的文章
目录说明
系统架构说明
图片看不清楚?请点击这里查看原图(大图)。
项目说明
数据库说明
wfTemplate 模板表
编号 | 字段 | 中文对照 | 数据类型 | 外创 | 模创 | 外改 | 模改 | 主键 | 外键 | 非空 | 唯一 | 字段值选项 | 选项代表含义 | 说明 | |
templateID | 模板编号 | nvarchar(50) | √ | √ | |||||||||||
templateEdition | 模板版本 | nvarchar(50) | √ | √ | |||||||||||
xoml | 模板数据 | nvarchar(MAX) | √ | √ | <XML> | ||||||||||
rules | 规则数据 | nvarchar(MAX) | √ | √ | <XML> |
wfTaskList 状态表
编号 | 字段 | 中文对照 | 数据类型 | 外创 | 模创 | 外改 | 模改 | 主键 | 外键 | 非空 | 唯一 | 字段值选项 | 选项代表含义 | 说明 | |
instanceID | nvarchar(50) | √ | √ | ||||||||||||
state | int | √ | √ | √ | 0,1 | 0活动,1完成 | |||||||||
token | nvarchar(50) | √ | √ | ||||||||||||
stateContent | nvarchar(MAX) | √ | |||||||||||||
result | nvarchar(50) | √ | |||||||||||||
value | nvarchar(MAX) | √ | |||||||||||||
客户端说明
WPF
图片看不清楚?请点击这里查看原图(大图)。
WinForm
图片看不清楚?请点击这里查看原图(大图)。
ASP.NET
图片看不清楚?请点击这里查看原图(大图)。
Silverlight
图片看不清楚?请点击这里查看原图(大图)。
附一个测试例子
场景
流程
图片看不清楚?请点击这里查看原图(大图)。
测试
本演示使用Silverlight客户端,其它客户端使用方式与本演示一样,同一流程可使用不同客户配合完成
启动服务
发布流程
图片看不清楚?请点击这里查看原图(大图)。
图片看不清楚?请点击这里查看原图(大图)。
(1)001申请
(2)002驳回
图片看不清楚?请点击这里查看原图(大图)。
图片看不清楚?请点击这里查看原图(大图)。
(3)001再申请
图片看不清楚?请点击这里查看原图(大图)。
图片看不清楚?请点击这里查看原图(大图)。
(4)002同意
图片看不清楚?请点击这里查看原图(大图)。
图片看不清楚?请点击这里查看原图(大图)。
(5)003实施
图片看不清楚?请点击这里查看原图(大图)。
状态表信息
图片看不清楚?请点击这里查看原图(大图)。
- ››WF 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
- ››WF单元测试系列2:简单测试Activity的行为
更多精彩
赞助商链接