如何使用K2.Net 2003设计流程
今天,我们用K2.Net 2003设计一个流程。
在K2.Net 2003中,流程设计工具叫做K2.Net 2003 Studio,这是一个图形化的流程开发、设计和部署环境。K2.Net 2003 Studio对流程的组织方式,如同Visual Studio .Net 2003,同样由Solution,Project组成,接下来才是Process。K2.Net 2003 Studio只能同时打开一个Solution,但可以同时打开多个Project。
现在我们模拟一个采购申请的流程。
- 企业内有用户要申请购买某个物品,他打开采购申请的Web窗体,填写相关的申请信息,比如申请采购的物品类型(Software, Hardware, Publications, and Services)。然后点击窗体中的提交按钮;
- 表单提交后,K2流程开始流转。首先K2 Server会判断物品类型,如果是Software或者 Hardware,申请单就会发给IT Department;如果是其他类别,申请单会直接发给申请者的经理去做审批;
- IT Department收到申请后,首先检查所申请的物品是否有库存。相关的任务执行人会进入他的K2.Net WorkSpace的WorkList中执行这个任务。如果有库存,就不需要采购,采购申请被否决,流程停止,同时申请人会收到一份通知邮件。如果没有库存,流程就会向下流转到申请者的经理做审批;
- 申请者的经理收到申请之后进入他的WorkList执行审批。他可以从Web窗体中选择同意或者否决,并且可以输入否决的原因。同时K2 Server会把一份同意或者否决邮件发送给申请者。流程到此结束。
下面开始在K2 Studio中设计这个流程。
第一步:创建流程解决方案、项目和流程
- 打开K2.Net Studio,新建一个Solution。选择Solution的路径,输入Solution名称:IT部门解决方案。K2 Solution的名称扩展名为.ksn。在新建的Solution上点击鼠标右键,选择Add New Project。在弹出的窗口中输入Project的名称:IT部门项目,并选择Project所使用的脚本语言(VB.Net或者C#)。
- K2 Studio会为新建的Project自动创建3个文件夹,分别是:Processes,Code Modules和Destination Queues。K2 Project的名称扩展名为.kpj。
- 在Process文件夹上点击鼠标右键,选择Add New Process。在弹出的窗口中输入Process的名称:IT采购流程。K2 Studio自动打开新建的Process。
- 在“IT部门项目”上点击鼠标右键,选择属性;在弹出的窗口左边,选择Export Server,点击“添加”,输入K2 Server的名称。提示:在K2 Project或者K2 Process上点击鼠标右键,选择Properties,可以分别对其进行设置。包括:
- K2 Project:
- Name名称:K2 Project的名称;
- Description描述:K2 Project的描述;
- Working Hours工作时间:设置K2 Project默认的工作时间;
- Export Servers导出K2服务器:设置K2 Project导出的K2服务器;
- References引用: 添加对其他.NET assemblies、COM对象和Web服务的引用;
- Imports导入: 导入其他的Namespace;
- K2 Process:
- Name名称: K2 Process的名称;
- Description描述: K2 Process的描述;
- Priority优先级: 定义流程的优先级,High,Medium或者Low,用户可以使用优先级属性筛选WorkList;
- Expected Duration预计持续时间: 定义流程的预计持续时间,如果超过预期持续时间,所有的流程线程都会突出显示;
- Working Hours工作时间: 定义流程的工作时间,用户可以选择工作时间从上级Project继承,或者定义流程特定的工作时间;
- Data Fields数据字段: 用于定义流程范围(Process-wide)内的变量;
- XML Fields XML 字段:用于定义流程范围内(Process-wide)的XML字段;
- Exceptions 异常: 用于指定当流程失败时,K2.net 2003 Server 如何记录异常错误信息。
第二步:设计流程
- 如上图所示,在流程画布(Canvas)上拖放5个类型为Default的Activity;分别双击每个Activity对其进行命名。
- 分别拖放一个类型为Default Client的Activity到“IT经理审批”和“部门经理审批”节点,双击Default Client,命名为“审批界面”,并在“审批界面”上单击右键,选择“Properties”->“Event Item”,取消“Client Side Code”,选择“Internet”,并输入URL地址为:http://服务器名称/demo/itmgrapproval.aspx和http://服务器名称/demo/deptmgrapproval.aspx,并将其命名为:审批界面。
- 将一个Server Mail对象拖放到“IT经理否决”,系统自动启动邮件向导,如下图填写。并在完成向导后,将Server Mail命名为“通知邮件”。
- 在上一步创建的“通知邮件”上点击鼠标右键,选择“Copy”,粘贴到“部门经理否决”节点上;在新复制的“通知邮件”上点击鼠标右键,选择“Run Template”,对邮件内容进行修改。
- 重复上一步操作,并在“部门经理同意”节点上添加一个邮件通知。如下:
- 选择正确的Line形状,将各个Activity节点连接起来。双击每条Line,添加备注。提示:拖动Line的备注文字,可以进行移动。
- 对每条Line进行规则定义。举例来说:右键点击连接“开始”和“IT经理审批”之间的Line,选择“Properties”,点击“Add”,在弹出的窗口中进行如下定义。
- 定义完Line的业务规则后,定义“IT经理审批”和“部门经理审批”节点的任务执行者。举例:在“IT经理审批”节点上点击鼠标右键,选择“Properties”->“Destination Rule”,从AD中选择一个任务执行人,并拖放到右面的窗口中。
- 编译流程:这时候流程设计工作基本完成,我们可以点击“Tools”->“Compile”进行编译,如果流程设计有误,K2会提示错误原因和位置。
- 导出流程:点击“Project”->“Export”,把设计好的流程发布到K2服务器上。
- 分配流程使用权限:打开K2 Service Manager,找到刚刚发布好的流程,点击“Users”或者“Groups”,分配权限。
第三步:设计流程用表单
- 打开Visual Studio .Net 2003,新建一个Web项目。
- 在项目中添加一个K2SmartForm项,如下图:
- 打开Web.config文件,移至文件尾部,添加K2 Server:
- 打开刚刚建立好的request.aspx,进行如下设置,PageType必须设置为PlanPage:
- 在Request.aspx上放置几个K2.Net SmartForm控件,并对各个控件进行数据邦定。并将“提交”按钮属性设置为:PlanButton。如下图:
- 分别添加另外2个K2 SmartForm:itmgrapproval.aspx和deptmgrapproval.aspx。设计页面,并进行控件字段绑定。需要注意的是:必须将这两个页面的PageType设定为ClientPage,而且提交按钮设置为FinishButton。再有,将Activity设置为相应节点下的“审批界面”。
- 检查无误后,生成该项目。
至此,流程设计完毕。下次我们将看看如何测试并运行已经设计好的流程。
待续...