你的位置:首页 > ASP.net教程

[ASP.net教程]Slickflow.NET 开源工作流引擎基础介绍(一)


  • 1. 工作流术语图示

                                                 图1 流程图形的BPMN图形元素表示

  • 1) 流程模型定义说明
    流程(Process):
    是企业组织对业务过程的工作流语言描述。一个完整的流程包括开始节点,中间节点和结束节点。

    活动(Activity):
    对每一个工作项节点上的内容定义,也包括网关,事件等节点。

    转移(Transition):
    表示起始节点和到达节点之间的状态转移。

    执行者(Performer):
    每一个节点定义的角色和用户,作为活动的执行主体。

  • 2)流程流转实例数据存储说明

    流程实例(ProcessInstance):
    存储业务过程流转数据,包括流程标识,业务数据标识和流程发起时间,当前状态和结束时间等信息。

    活动实例(ActivityInstance):
    存储每个流程节点的实例信息,包括活动节点的标识,状态,接收人,办理时间,结束时间等信息。

    转移实例(TransitionInstance):
    存储每条转移的状态数据,包括转移表示,起始节点信息,到达节点信息。

    任务实例(Tasks)
    活动接收和办理人的信息列表,待办任务和已办任务的数据来源。

  • 2. 流程服务方法调用图示

                                              图2   流程服务接口调用示意

 

  • 流程服务常用的6个API接口具体描述

    流程从启动,运行到最终结束时,需要调用引擎服务API接口。

    1) StartProcess()

    启动流程调用此方法,生成流程实例,并置状态到开始节点之后的任务节点。

    2) RunProcessApp()

    流程运行调用此方法,将当前任务结束,并分发任务给下一步节点的办理人。

    3) JumpProcess()

    跳转到指定的任务节点,有预先指定方式,或运行时动态调用方式。

    4) WithdrawProcess()

    当前任务节点的上一步节点完成人发现办理有误需撤销,调用此方法,重新回到上一步节点。

    5) SendbackProcess()

    当前任务办理人退回任务到上一步执行节点。

    6) ReverseProcess()

    流程结束后仍需返回,由结束节点前的执行人调用此方法,状态回到结束前的节点。

  • 网站演示地址: http://www.slickflow.com/demo/index
  • Github 地址: https://github.com/besley/Slickflow
  • Codeplex地址: http://slickflow.codeplex.com