博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Captaris Workflow开发系列(一)

Posted on 2008-05-26 09:41  不规则几何图形  阅读(423)  评论(0)    收藏  举报
  

本文是根据本人项目过程中对Teamplate的开发技术所积累的一些经验做的一个总结,希望能在以后用到Teamplate开发的项目中起到一些借鉴的作用。本文主要按照基本对象的介绍、工作流模板的设计、怎样在应用程序中嵌入流程控制、权限控制以及我们对Teamplate扩展的开发几个部分来说明。因本人能力有限,习惯大牛们能常扔块头,以便可持续改进(近年来可持续这词视乎很流行^_^)

Note:Teamplate于几年前被Captaris 公司收购(估计再过几年Captaris 也会被MS收购),故本文提到的  Teamplate === Captaris Workflow。Teamplate 发布了不少版本,逐步成熟起来,但不知道什么原因在国内,几乎没太多的市场,可能时没有中文版的缘故吧。

1           Teamplate中的几个基本概念

说明:作为开始之前预备知识,首先介绍一下Teamplate中的几个基本概念,包括Model、Process、Task、User等。

1.1               Model

Model即流程模板,是我们为一个业务流程定义的一个模板,在这个模板设计时,我们需要为它定义好所有的业务步骤(Task)、所有可能的流转线、以及各种流转的条件(业务规则),具体怎样设计一个Model,请看下文的怎样设计流程模板。

1.2               Process

Process是根据一个现有的Model创建的一个具有实际意义的工作流程,例如创建好一个采购订单的模板以后,我们就可以在这个模板的基础上创建一个新的采购订单流程。

对于Model和Process对象之间的关系我们可以这么来理解,如果把一个Model看作一个类的话,那么Process就相当于这个类的一个实例,每个Model可以产生多个实例,一个Process从创建到走完在Model中定义好的整个流程后,直到最后结束就是这个Process的整个生命周期。

1.3               Task

TaskModel中有实际意义的每个步骤,例如一个采购订单的Model可以分解为创建订单-订单审批-采购合同-仓库收货-财务付款这几个Task

1.4               User

User 对象放到这里来讲主要是因为在Teamplate本来就是一个基于人员的工作流系统,用户权限无处不在,包括Teamplate中虚拟的每个文件夹,以及文件夹中的每个文档包括ModelProcess对象,以及Model中的每个Task都需要设置用户权限。

Teamplate中有两种类型的User,一种是在Teamplate中创建的用户,另一种是从AD或者Windows本地用户中导入的用户,如果要在应用程序中集成Windows或者AD对用户进行权限设置和验证的话就需要采用后一种类型的用户。