zoukankan      html  css  js  c++  java
  • 再发一个WF综合技术演示的例子

    再发一个WF综合技术演示的例子

    例子下载:

    http://cid-c36588978afc344a.skydrive.live.com/self.aspx/temp/WF0016.rar

     

    (说明:由于在博客园的文件空间满了,以后我的例子只能放到MS的网盘上了,有朋友说下载慢,我也没办法)

    这个也可以用了

    https://files.cnblogs.com/foundation/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实施

    状态表信息

  • 相关阅读:
    性能测试
    Oracle Install logs
    运维服务方案
    对字符串的查找,剪切,替换,提取(正则表达式)
    用java程序模拟网站的登录以及文件批量上传
    HDU_1542_(树状数组)
    HDU_3792_(素数筛+树状数组)
    Codeforces_791_B. Bear and Friendship Condition_(dfs)
    POJ_1125_(dijkstra)
    POJ_1088_(dp)(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/foundation/p/1399657.html
Copyright © 2011-2022 走看看