华丹CHARISMA工作流使用说明.docx
- 文档编号:3841901
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:357.24KB
华丹CHARISMA工作流使用说明.docx
《华丹CHARISMA工作流使用说明.docx》由会员分享,可在线阅读,更多相关《华丹CHARISMA工作流使用说明.docx(15页珍藏版)》请在冰豆网上搜索。
华丹CHARISMA工作流使用说明
华丹CHARISMA工作流管理系统
使用手册
上海华丹信息技术有限公司
www.huadan.biz
2009年2月
第一章前言1
第二章流程管理1
2.1业务类型管理2
2.2工作流程管理2
2.21新增工作流程3
2.22启用、锁定、升级工作流程4
2.23设计工作流程4
2.24删除工作流程5
第三章流程设计器5
3.1界面说明5
3.2流程节点配置8
3.3流程动作配置10
3.4分支,聚合节点及它们与一般节点的区别10
第四章流程应用11
4.1流程启动11
4.2流程提交12
第一章前言
工作流是什么?
简单的说工作流就是将工作流程的逻辑和规则在计算机中以恰当的模型进行表示的工作流程计算模型。
工作流通过将工作活动规划为良好定义的任务、角色、规则和过程来进行操作和控制,达到提高组织管理水平和工作效率的目的。
工作流要解决的主要问题就是:
为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
实现工作流管理的系统就是工作流管理系统(WorkflowManagementSystem,WfMS)。
它是利用计算机技术实现工作流的定义、执行、管理和监控的系统。
本说明文档主要以流程的定义和用户的开发作为重点来介绍华丹CHARISMA工作流的使用方法。
文档中第二章流程管理和第三章流程设计器主要介绍流程定义的管理和设计。
第四章流程应用主要介绍与流程开发相关的用户接口。
第二章流程管理
流程管理,包括“业务类型管理”和“工作流程管理”2方面内容。
“业务类型管理”主要是对流程定义的类别的管理,而“工作流程管理”则是对流程定义的管理。
将流程定义分类别,有助于对流程的组织和管理,并且允许在一个流程类别下,定义多个属于同一或相似业务的流程,这样就可以选择同一类别下的不同流程定义来适应同一类型而执行环境不同的业务。
流程定义指的是流程的规则,角色,过程等的配置情况。
在本手册中“流程”、“流程定义”、“流程配置”属于同一概念。
2.1业务类型管理
操作模块:
系统控制中心>>工作流程管理>>业务类型管理:
点击图中【新增类型】按钮新增一个流程业务类型,新增页面如下图:
重要数据项说明:
Ø子系统:
流程所属子系统。
Ø类型标识:
业务类型标识代码,字符串类型,最好用分层代码,如11,1101,1102。
Ø类型描述:
业务类型名称。
注:
删除业务类型不会删除其下的流程定义。
2.2工作流程管理
操作模块:
系统控制中心>>工作流程管理>>工作流程管理:
2.21新增工作流程
点击【新增流程】按钮,新增一个工作流程,新增界面如下:
重要数据项说明:
Ø流程状态:
新增流程的流程状态都是“草稿”,代表这条流程是未正式使用的流程。
Ø业务类型:
流程所属的业务类型。
Ø时限类型:
分为工作日、天、小时,与“处理时限”配合使用。
Ø处理时限:
可以对整个流程设定时间,即必须在规定时间内完成,否则报警提示,对各节点也可以分别设定时限,在下文中配置流程节点中介绍规定业务处理的时间长度。
Ø超时处理:
流程处理超时时,流程引擎触发的动作。
有“无”、“提醒”、“挂起”、“结束”等4类。
Ø默认处理页面:
流程中,每个节点,对应打开的操作界面,即进行的工作都可以不同。
在这里设定节点默认的工作URL,如果节点中没有设定URL,就取该URL。
可以含有嵌入表达式[%=exp%],表达式中可以通过wfParam函数取出相关的流程参数,如任务标识(taskID)、业务ID(appID)等。
如:
sysmng.initUpdate.do?
subSys=rundata&updateID=updSfTask&col_TASKID=[%=wfParam("taskID")%]&up_appID=[%=sfParam("appID")%]&isReturn=1,有关wfParam可以取到哪些参数在后面流程参数中会讲到。
Ø业务信息页面:
在任务列表中,通过点击“业务信息”链接,可以打开该任务相关的业务信息,如申请单详细信息,这个业务信息的URL就是在这里设定。
流程的业务信息所对应的页面。
注:
在“默认处理页面”和“业务信息页面中”可以使用系统的流程函数wfParam()来获取流程参数如:
wfParam(“taskID”)获取当前的任务id。
2.22启用、锁定、升级工作流程
流程定义的启用、锁定和升级,是为了方便对流程的维护而设计的。
如果要修改正在使用的流程定义,那么首先就应该将此流程锁定。
流程锁定后,业务人员就不能再使用这个流程来创建流程实例(即不能使用此流程定义完成业务)。
此时对工作流进行修改就比较安全。
而工作流启用后锁定即被解除。
锁定的或者新创建的流程只有启用后才能生效。
新创建的流程被启用时,流程状态会从“草稿”变为“启用”,如图所示。
处于“启用”状态的流程定义被锁定修改后,如果流程的图形发生了变化;如:
节点的增减或者流程动作的指向改变等,都需要在流程启用前先对其进行升级,使其版本号增加,从而与修改前定义区别。
2.23复制流程定义
复制流程,就是按所选流程的定义原模原样的创建一个新流程定义。
这样设计的目的是:
如果有两个相似流程的定义,那么可以先配置好其中的一个流程,将其复制作为另一个流程的模板,便可在模板上修改第二个流程了。
2.23设计工作流程
流程定义的设计是用借助流程设计器来完场的,这部分内容。
在流程设计器章节中详细介绍
2.24删除工作流程
只有“草稿”状态的工作流程才允许被删除。
流程一旦被启用一次后,便不能被删除。
第三章流程设计器
3.1界面说明
操作模块:
系统控制中心>>工作流程管理>>工作流程管理:
流程设计器界面如下:
流程设计器分为“工具栏”、“绘图面板”、“流程属性配置面板”、“业务属性配置面板”、“样式属性面板”、“应用配置”和“预览”按钮等6部分。
✧工具栏
工具栏提供了设计器的操作功能按钮,这些按钮的说明如下:
图标
类别
名称
说明
设计器操作
校验流程图
对流程图的合法性进行校验
保存流程定义
删除选中对象
选择工具
流程元素
流程节点
流程分支
流程聚合
流程动作
✧应用配置
在流程配置中,需要一些动态参数,如节点URL,流程事件,执行人,执行角色等,都可能用到一些动态参数。
这些动态参数可有三个来源:
一是系统内置的,主要有两个,分别是流程实例ID(wfInstID)、业务标识(appID),业务标识是启动流程时传进来的关于业务信息的ID,通过它可以查到业务相关信息,相当于业务信息的主键。
二是外部传进来的,也就是通过JAVA方法的参数或是URL传进来的。
第三是流程参数配置中配置的,也就是下面要讲到的。
在流程的应用配置中可以配置流程的参数和事件。
这是为了方便用户对工作流的扩展而设计的。
1.流程参数
流程参数可以作为一种参数传递方式,在业务处理中调用。
每个流程都可配置自己的参数。
配置界面如下:
重要数据项说明:
Ø执行序号:
参数的序号。
Ø参数名:
调用时使用的标识。
Ø参数表达式:
参数值对应的表达式。
注:
这里设置的参数可使用wfParam(“”)函数调用。
如,在本例中设置的参数,需要时可这样调用wfParam(“region”)。
2.流程事件
流程支持流程开始、结束、挂起。
。
。
等流程事件。
用户可以此方式,加入自己的业务逻辑,对流程进行扩展。
关键数据项说明:
Ø事件类型:
流程开始事件,发起流程实例时激发它。
流程挂起,又名流程中止,流程实例在某个节点执行挂起操作时激发。
流程恢复,流程实例在挂起后,执行恢复操作时激发。
流程撤销,流程实例在运行过程中,被执行撤销操作时激发。
流程驳回,流程实例在某个节点被驳回时激发。
流程结束,流程实例运行结束时激发。
Ø执行序号:
可加入多个事件,依此次序执行。
Ø执行条件:
此事件的激发条件表达式。
为空时条件为true。
Ø目标子系统:
操作的数据库是哪个子系统中的,一个流程事件中,可以操作多个数据库,并且在同一事务控制下。
Ø脚本类型:
分SQL语句、存储过程及JAVA方法。
Ø脚本内容:
可以含流程嵌入表达式[%=exp%]。
对于SQL可含占位符?
,与JDBC中SQL的中?
含义相同。
如UPDATEPURCHASE_BASESETAPPLYSTATUS=4WHEREAPPLYNO=?
;对于存储过程,格式是{?
=call存储过程名(?
?
?
)},其中call前面的?
对应返回值参数,如果没有直接以call开头,存储过程名后括号中是存储过程参数集,有几个参数就写几个?
,如果不确定,脚本内容可以直接写存储过程名;对于JAVA方法,格式是包名.类名.方法名(参数列表),如com.huadan.demo.Test.myTest(java.lang.String,int,int)。
注意,每个脚本内容中只能含有一个脚本,如一个SQL,不能将多个SQL写在一个脚本内容里,如果要执行多个脚本,可以注册多个事件。
Ø脚本参数:
对于SQL及存储过程,对应脚本中的?
,如wfParam("appID"),含多个时以双分号间隔,如果参数值中含有List或数组,自动循环执行。
对于JAVA方法,对应方法参数值,如:
”test”;;1;;1。
注意引用流程参数要用wfParam函数,包括外部传入的参数,都不能用request函数。
✧绘图面板
绘图面板是流程绘制的工作区,点击工具栏中的流程元素(节点、动作、分支、聚合)按钮,在绘图面板中拖动,即可绘制流程图。
✧流程基本信息面板
流程基本信息面板,用来配置流程的总体属性。
其数据项的内容请参考新增工作流程。
✧业务属性面板
业务属性面板用来配置流程元素的属性。
主要是节点和动作等元素的配置。
关于流程元素属性的配置在下节中有详细介绍。
✧样式属性面板
样式属性面板,提供了配置流程图中流程元素的显示风格的定义项。
鉴于它的属性定义明确,理解简单在此不做详细说明。
3.2流程节点配置
在本工作流系统中有3类节点:
一般的流程节点、分支节点、聚合节点。
在这里首先对一般流程节点的配置做详细介绍。
其余两类节点的配置比较简单不做过多说明。
关于它们的区别后面3.4节中有详细介绍。
点击
按钮,在“绘图面板”中拖动,即可创建一个流程节点。
在设计器右边的业务属性面板中配置节点业务属性,其业务属性面板如图:
重要数据项说明:
Ø节点描述:
节点的名称。
Ø执行区域:
处理此节点的区域。
可填写表达式,如取当前区域的函数curRegion()。
Ø执行部门:
处理此节点的部门。
可填写表达式。
Ø执行角色:
处理此节点的角色。
Ø执行人:
处理此节点的人。
Ø时限类型:
节点处理时限的单位,“工作日”,“天”,“小时”。
如果选择工作日,那么周末将不计算在处理时间里。
Ø处理时限:
节点处理时间,和时限类型联用。
Ø处理页面:
节点对应的处理页面。
Ø流转方式:
程序的流向是由系统自动选择,还是由人工干预。
Ø提交方式:
节点的处理是由系统自动执行,还是由人工干预。
Ø是否自由回退:
Ø是否可忽略:
指是不是流程的关键节点,也即不论什么情况都执行的节点。
3.3流程动作配置
重要数据项说明:
Ø动作类型:
分“提交动作”、“回退动作”。
指定流程是流向高级还是低级。
Ø起始节点:
动作的开始节点。
Ø目标节点:
动作的结束节点。
Ø执行条件:
执行此动作应满足的条件。
可以写表达式。
如图中的执行条件是>100万,条件表达式是sqlQuery("demo","SELECTSUM(TOTELPRICE)FROMPURCHASE_DETAILWHEREAPPLYNO="+wfParam("appID"))>=1000000;这就表示只有大于100万的业务才需要这个动作指向的下一个节点审批。
3.4分支,聚合节点及它们与一般节点的区别
分支,聚合节点适用于流程并行和合并的情况。
如果流程的某两个,或者多个节点,需要同时进行审批也即并发执行。
那么这时就需要一个分支节点将任务分发给这几个并发节点,使其能够同时执行。
图中”>100万”是一个分支节点。
此时的流程图表明“财务”节点处理后要同时送交“副总经理”和“财务总监”审批。
认真观察上图还会发现。
作为一般节点的财务也可以有两个路径(图中虚线标注的地方)。
也就是说财务这个一般节点也可以流向两个节点,它与分支节点的区别是什么。
分支节点指向的节点体现的是“并”的关系即必须都执行。
而一般节点指向的节点体现的是“或”的关系,通常是带有条件选择的,只走其中的某个或某几个节点。
如果流程中有分支节点,那么意味着这个分支节点的分支会在某个节点聚合,这时就需要用聚合节点将它们汇总起来。
分支和聚合节点典型的用法如下图:
第四章流程应用
CHRISMA工作流引擎中提供了很多开发接口(API),用户可以利用这些API来开发自己的应用。
本章将向用户介绍几个常用的API。
4.1流程启动
启动流程是调用系统的API:
charisma.workflow.engine.WorkFlowService.startFlow(StringsubSys,StringwfID,StringappID,StringappDesc,StringwfParams)来实现的。
它的完整定义如下:
/**
*启动一个流程。
*@paramsubSys子系统标识。
*@paramsfID流程标识。
*@paramappID应用标识。
*@paramappDesc应用描述。
*@paramwfParams流程参数。
*@return流程实例ID。
*@throwsCharismaExceptionerroroccurs.
*/
publicStringstartFlow(StringsubSys,StringwfID,StringappID,StringappDesc,StringwfParams)
throwsCharismaException
{}
用户可以”JAVA方法”的方式在系统MVC的操作控制,或数据维护资源(增、删、改)的关联操作中调用的。
如图所示
4.2流程提交
提交流程是调用系统的API:
charisma.workflow.engine.WorkFlowService.startFlow(StringwfTaskID,StringwfParams)来实现,它的完整定义如下:
/**
*提交流程。
*@paramwfTaskID流程任务标识。
*@paramwfParams简单流程参数。
*@throwsCharismaExceptionerroroccurs.
*/
publicvoidsubmitFlow(StringwfTaskID,StringwfParams)throwsCharismaException
{
this.submitFlow(wfTaskID,wfParams,null);
}
调用方式与启动流程的调用方式相同。
系统中定制了通用的审批页面:
sysmng.initUpdate.do?
subSys=wfdata&updateID=updWfTask&col_TASKID=[%=wfParam("taskID")%]&up_appid=[%=wfParam("appID")%]&isReturn=1。
在这个更新资源的级联操作里就用了流程提交函数。
如果用户想定制自己的审批页面,也需要把这个方法作为它的级联操作,来完成流程的提交。
流程函数
函数名称
函数说明
返回值
参数说明
wfParam(paramName)
取流程中用到的参数值,参数可以通过启动流程或提交流程的方法参数中传,也可在流程模板中定义。
其中wfInstID及appID两个参数由系统默认提供。
对应值
paramName:
参数名
如:
wfParam(“appID”)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华丹 CHARISMA 工作流 使用说明