`

对.net工作流理解(整理中)--暂告一段落

阅读更多
1.1对于工作流总体概貌的理解 
这几天一直在看MSDN,整理下自己的思路。
   在.net工作流中,进程通过WorkflowRuntime创建和维护WorkflowInstance.除此而外,WorkflowRuntime可以创建自定义的服务和本地服务(为工作流处理对象设计服务),可以控制从内存中加载和卸载工作流(配合sqlWorkflowPersistenceService就可以实现工作流的持久化)等等。
   现在理解下进程中workflowRuntime,workflowInstance和服务的关系(见附件)。
   这是MSDN中描述服务在workflowRuntime中的执行情况,不过从侧面反映了:
   1.workflowInstance由workflowRuntime创建。
   2.服务由addservice()加载入workflowRuntime中,而与workflowInstance实例无关。
   3.workflowInstance在创建后,自动流动触发activity。在activity中触发service中的事件,转而由workflowRuntime将事件转化为接口上的事件调用(EventHandle)。
    从上面的分析,举个例子来说,就是workflowInstance相当于公司中文档批复的业务流程,而服务就是需要批复的文档以及在文档上要做的操作。而workflowRuntime则是跳出流程和文档,调整两者连接的部门(虚拟,假设有此部门)。
  1.2 对ExternalDataExchangeService服务的理解
    诚如MSDN所说,一个必须添加到工作流运行时引擎才能启用本地服务通信的服务。若要正确地初始化和注册这些服务(我觉得应该是添加到workflowRuntime里服务于workflowInstance的服务),必需将本地服务添加到ExternalDataExchangeService中。
    因此workflowRuntime,workflowInstance,ExternalDataExchangeService和本地服务的关系是:workflowRuntime承载workflowInstance,ExternalDataExchangeService被添加到workflowRuntime,本地服务被添加到ExternalDataExchangeService中以实现对于譬如SqlWorkflowPersistenceService的初始化。
    还有,就是本地服务必须实现使用 ExternalDataExchangeAttribute 进行修饰的接口。本地服务中的需要定义方法和事件(需要实现ExternalDataEventArgs)供CallExternalMethodActivity和HandleExternalEventActivity使用。
前者用于工作流实例从外部接收信息,后者用于处理由本地服务引发的事件的工作流通信活动。workflowRuntime会将本地服务上的方法调用转化为workflowInstance上的Event触发。
  
  • 大小: 133.8 KB
分享到:
评论
1 楼 ccflow 2009-05-11  
驰骋工作流特点 http://ccflow.cn

最容易的操作:
  =============================
      会管理就会,设计流程,10分钟入门,1个小时间让您设计复杂的流程。设计全部图形化、界面化。


  所见既所得的表单设计:
  =========================
      不必专业的培训,轻松完成主表设计,明细(从)表设计,自动完成,支持计算列,支持复杂的自动计算,支持sql,excel表达式.


  最简化的流程模型建造:
  ========================
      流程节点增、删,改流程方向控制. 设计完全图形化。让你的流程更加可读,直观,容易理解,流程图自动copy到图片到前台。
    

  强大丰富流程功能
  ===========================
      工作退回,转发,撤消,删除,工作报告(工作跟踪器),预警,附件.时效考核, 工作投递智能化 自动记忆路径,打印单据文书自定义


  丰富的流程考核管理:
  =================================
      考核是流程运行的"副产品" 时效考核,率考核公开透明, 工作状态:正常、预警、逾期.


   不可媲美的流程报表自定义
   ==================================
     报表定义所见既所得 查询,查询条件,分组分析,对比分析,旋转分析,图形分析,多纬统计报表,数据透视,数据挖掘,纂取.

  
   灵活的外部集成接口
   ====================
   二次开发不需动程序,事件调存储过程,调用url,本机exe.


    表现卓而不凡:
    ======================
    支持省级机关数据大集中,支持群集,支持事件与外部程序调用接口,支持oracle,sqlserver.

相关推荐

Global site tag (gtag.js) - Google Analytics