Captaris WorkFlow的开发和部署

1.工作流就是指某个业务逻辑的流程,我们在工作流的平台上面,把它的流程中的各个步骤完全显示出来。在Captaris WorkFlow中,工作流是由一个个Task(任务)组成(微软的WF应该叫活动,应该是Activity)。例如:提交一个单子,老总审批,部门执行,这些连贯性的步骤就组成了一个工作流程,而其中每一个步骤就一个Task

2.    完成一次工作流的任务就可以称为一个Process,不同的工作流分别对应就一个ModelFolder 代表文件夹(在Captaris WorkFlow中是虚拟的,不存在真实的硬盘空间中),可以将不同的工作流(cw)放在文件夹中。文件夹的创建:右击项目,可以看到workflow,点击按钮,点击此按钮后,弹出对话框,框中有Make New Folder。显示如下图(此图要在项目创建以后才有):

      

      

    Deployment –> Deploy Folder 就是工作流存放的文件位置。

3.    Captaris  Workflow 中,Task分为Window TaskSystem Task,Web TaskEvent Task(微软的Activity类型好像很多)。这些Task 下面具体会讲到。

4.    打开vs2005,新建一个项目,就可以看到Captaris WorkFlow。如下图:

5.    点击确定以后, 会弹出如下窗体:

 

用户必须输入UserPassword,(开发一般都是admin)选择Log on to Server

User 可以是Captaris  Workflow中自创建的用户,例如:admin,也可以是域用户。如果是自创建的用户,Log on to 选择 (Workflow default), 如果是域用户,选择所属的域名。

Server是开发应用程序连接的服务器,可以是本地(localhost)也可以是远程的。

 

6.    点击OK以后,就可以看到一个工作流的项目了。cw后缀的就是进行工作流开发的文件。返工单的工作流如下图:

 

刚才提到的Window TaskSystem Task,Web TaskEvent Task在左边的工具栏都可以看到了。

7.      一般来说,开发工作流,在解决方案中除了包括工作流的项目,还应该包括一个宿主项目,可以是一个winform项目,也可以是一个web的项目,当然用控制台也是可以的。如下图:

   

如果有用到工作流中的类,需要修改继承,将*.aspx.cs文件中继承的命名空间

改为

8.      建立完宿主项目,就必须建立它和工作流项目之间的关联。Web Task 使用在Web平台上面。它有一个Web Form URL属性,它对应着一个aspx页面,如图:     

也可以将某一个aspx页面拖拽到对应的Web Task上,拖拽后,Web Task的颜色会发生变化,结果也如上图显示,比较图如下图:

 

 

9.      除了上面说的属性,还有其它属性。Image Id属性用来显示图片,Name属性相当一个标识符(就像TextBox中的id)Description用来显示Web Task 文本的内容(相当于TextBox中的Text)Responsible Id属性是关于权限的属性(这个单独介绍)Allow Reset属性允许Web TaskReset的操作,就是重新操作工作流中对应的步骤。

10.      控件,可以用来保存工作流的一些状态。例如在返工单工作流中保存了返工单号,工作流进程编号,邮件服务器,邮件标题,邮件内容等待。如下图:

   

工作流在部署完成后,如果添加新的XML,或者XML的新内容都将对工作流进程产生影响。

11.      Web Task的事件有六种,CompleteExecute,Failed,Overdue,Ready,Reset事件。看英文就基本明白这些事件的意思了。Overdue是延迟事件,就是说当对应的Web Task在规定的时间内没有完成,便会触发。

12.      除了刚在工具箱里的控件外,还可以手头添加其它控件,例如:发邮件控件,设置延迟时间的控件。点击Captaris  Workflow,如下图:

    

点击Custom Workflow,如下图:

选择所需的Action,点击OK,在左边的工具栏可以显示,如下图:

Set Task Due Date 控件可以设置延迟的时间,设置完会触发Overdue事件。

参考文件:C:"ProgramFiles"Captaris"CaptarisWorkflow"Help"Captaris_Workflow_Visual_Studio_Integration.chm

In the help file, there is a step by step explanation in the section -> Custom Actions -> Core Actions -> Set Task Due Date

Send Email 控件用户发送邮件,将其拖拽到相关的Task对应的事件即可。

13.      Window Task Web Task 基本相同。System Task是直接执行的,不需要通过web页面或者winform窗体,它可以作为一个工作流的完结,它的Ready事件中可以用来创建子工作流。

 

例子:根据用户选择的部门经理创建子工作流进行各部门经理审核。由于不确定用户选择部门经理的个数(每个部门经理审核都是一个Task),所以只能动态创建Task。此时,创建一个新项目的工作流,作为子工作流。

父工作流在  这个System TaskReady事件中创建上面建好的子工作流。(Model.NewProcess()为创建的方法,这其实是创建子工作流的一个进程)

14.      开发完需要部署,右击项目名称,点击Deploy,如下图:  

          

    每修改一次工作流的内容都需要Deploy才算成功。

posted @ 2009-07-01 12:48  拔掉内存  阅读(1709)  评论(2编辑  收藏  举报