论文部分内容阅读
摘要:经费预算管理系统是高校财务管理的重要业务系统之一,但是目前系统却存在诸多问题,例如可维护性差、升级困难等。jBPM是一个非常适合扩展的、灵活的工作流管理系统,可以在不改变具体功能模块实现方式的前提下,通过过程模型的重新定义来改变或改进系统的功能,学校财务部门按照业务流程动态的构建经费预算管理系统。
关键词:工作流;经费管理系统;jBPM
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 23-0000-02
1 引言
经费预算管理是财务管理最常规的手段之一,尤其在高校显得非常重要,通过经费预算管理,可以有效的控制和规划经费的收入和支出,有效的支持学校的正常运营。一个完善的、效率高的经费管理系统方案对于保障预算收支平衡、监督学校预算行为、严格控制收支的规模、保障正常教学科研工作的展开起到了非常重要的作用,所以,采用适当的技术,规范经费管理流程和管理方式对于任何单位来说都应该是财务管理工作的首要问题。目前,笔者所在高校的经费预算管理系统的开发模式是将经费预算管理的业务流程渗透到软件系统中,从而导致了系统在开发阶段、实施阶段和维护使用阶段均出现了不同程度的问题,主要表现在系统不同模块之间的内聚程度低,耦合程度高,开发缺乏灵活性;低内聚高耦合导致系统的可维护性非常差,升级困难,从而出现系统跟不上学校不断变化的业务需求。
工作流技术的出现,可以很好的解决以上问题。利用该技术,便可以在不改变具体功能模块实现方式(操作系统、硬件环境、编程语言、用户界面和应用程序开发工具等)的前提下,通过过程模型的重新定义来改变或改进系统的功能,这样可以是学校财务部门按照业务流程动态的构建经费预算管理系统,改变传统的人适应软件的模式,这种非常符合实际应用时的需求。
2 jBPM工作流介绍
2.1 基本模块介绍
JBoss jBPM[1]是一个非常适合扩展的、灵活的工作流管理系统,其核心模块是一个jar数据包,大小仅有299KB,该包提供了标准的Java应用程序接口,调用非常方便,应用的方式也非常灵活。另外,还可以通过J2EE进行部署(Websphere,Weblogic,BEA,Jboss)。
jBPM工作流系统主要包括以下组件构成:
Service
|-----Definition service
|----- Definition service Impl
|-----Execution service
|----- Definition service Impl
|----- scheduler service
|----- scheduler service Impl
|----- command service
|----- command service Impl
各service功能如下[2]:
(1)Definition service为用户提供流程定义发布/删除服务
(2)Execution service为用户提供流程执行服务
(3)scheduler server是超时调度服务器
(4)command server是异步调用服务器
在jBPM中,流程定义以流程档案的形式被封装,流程档案需要送到jPDL流程引擎才能被执行。jPDL流程引擎的主要工作是进行流程图的遍历、定义动作的执行以及流程状态的维持,同时对所有的流程时间进行记录。jBPM将状态机作为状态变化控制的基础,而且对活动图的建模模型进行扩充,jBPM的执行机制采用的是petri网算法。
2.2 jBPM工作流程的实施过程
jBPM工作流程的实施过程一共分为4个阶段,分别为定义、部署、执行和监控[3],下面对没个阶段分别介绍。
(1)定义:工作流系统的定义接口为流程开发人员(软件开发人员和业务分析师)部署流程定义提供条件。jBPM流程的定义过程描述如下:①过程定义→②任务定义→③流程的扩充;
(2)部署:在工作流定义完成以后,必须将流程定义部署到数据库之中,这样可以让jBPM工作流引擎能够在数据库中读取工作流定义相关信息并且执行。jBPM提供工作流定义部署接口。除此以外,还囊括了Hibenate的配置和部署、jBPM的配置和部署和web应用的配置和部署等。
(3)执行:用户和系统可以通过jBPM执行接口来操作流程实例(流程定义的执行),通过状态机来进行流程定义的控制,jBPM执行接口主要包含两个非常重要的方法:第一个方法为启动执行一个流程定义;第二个方法为通告工作流系统流程定义的控制情况。
(4)监控:系统用户可以利用jBPM的任务接口获取目前等待办理的任务;通过查阅状态机的输出可以掌握流程实例的状态,从而明确流程运行的准确状态。如过需要,对于有高级权限的用户,还可以对流程实例的执行进行暂停、删除或恢复。
3 工作流模型应用于系统开发的可行性
jBPM越来越受到众多系统的使用,因为以jBPM作为工作流引擎,具有非常优秀的特点[4]:
(1)不同的数据库均能满足jBPM的需求,因此可以对现有的系统进行改造,可以减少系统软件的投资;
(2)jBPM和其他服务的集成兼容性非常好,如Email服务,可以充分发挥“跟踪一通知”模型的巨大优势;
(3)利用UML技术进行活动图建模,可以让需求分析更详细,减少业务分析人员的分析模型和开发人员的实施模型之间的差异;
(4)流程的扩展性优秀,因此在解决柔性工作流模型以及特殊工作流模型上具有非常强的适应性。 (5)支持j2ee的开发。
4 经费管理系统的业务流程
在经费预算管理系统中,要为各系经费申请人员及每位教师建立一个帐户,其中帐户中存储各系的经费预算项目及教师的报销项目。经费申请人员登录后可以进行预算填写,填写完成后上报项目,并能随时查看、修改经费审批情况。相关审核人员登录之后对预算项目或报销项目进行审批,审批后将审批结果通知预算申报人,通过,所填写预算项目将永久保存,不能被删除,财务根据审批意见进行划账;不通过,则将所审项目返回报审处修改。之后,财务人员可以通过系统监督预算使用情况。
经费管理系统的核心可以归纳为:预算通知发布、部门预算方案的提交、财务主管审查、总会计师审核、校领导审核等。每一项工作都以流程的形式进行,一般由发起者来启动流程,经过相关部门的审查、复查和批复,最终达到流程的终点。不同的工作流程之间可以进行交叉、相互连接或者循环进行的,一个工作流结束以后,其终点可以作为另外新的工作流的起点,如财务主管审查过程结束后,引发了总会计师审核过程。工作流程可以超越单位而在组织甚至组织相关单位之间进行。要实现其自动化,就要以协调好资源、人员、状态、事件这四个组成工作流的元素为目标,以此对工作流的发展、运作和完成起到很好的推动和全程监控作用。信息技术的运用,除了对工作流全程信息与操作的管理以为,还要对工作流的实现起到很好的推进作用,例如:对工作人员操作权限的赋予与回收(如对文件操作完成后,不可以随意修改内容,而要由上级领导获批,待得到文件签署权或修改权)、主动对工作人员某阶段处理的实现进行提示和一定的催促,通过这些来提高工作流处理的整体效率。
高校经费预算管理系统的流程非常清晰的,它恰好是学校发布预算通知到学校公布预算一个完整的生命周期,可以用有向图进行描述,如图1所示。
此过程模型是由一系列活动所组成的,每个节点均表示一个活动,而两节点之间的有向边概括了活动之间的关系,主要包括数据连接和控制连接。数据连接表示两个活动之间的数据流,上一个活动的输出数据作为下一个活动的输入数据。控制连接表示两个活动之间的执行顺序(串行或并行执行)。在图 2 中椭圆形节点还可以继续细化,分成不同的子过程,例如:如“财务主管审查”作为经费“财务主管审查”子流程由预案初审、预案复审、预案终审等活动组成。流程的执行描述如下:财务主管部门会计部收到学习各个部门的经费预案后进行初审,如初审通过,会计部再将经费预案发送到主管会计部进行复审,如复审未通过,主管会计部将审批结果返回给经费预案申请单位,申请单位修改预案后重新启动流程进行初审;复审和初审的步骤类似,如复审通过,最后还须由财务主管部门主任进行终审。复审、终审如果未通过仍然需要发回预案申请单位进行预案修改工作。
5 系统关键模块的设计
5.1 数据库设计
经费预算管理系统的数据库可以分成两种:一种是工作流相关数据库;另外一种是业务数据库。业务数据库的内容主要是保存应用程序或者相关web服务在执行过程中需要的数据,例如部门预案表、经费预算表、经费审批表等,由于论文篇幅的关系,这里就不一一列举。工作流相关数据库主要包括工作流过程定义表、过程实例表、组织人员信息表、业务流程活动定义及实例表、Web服务表等。
5.2 工作流引擎设计
经费预算管理系统的逻辑架构图如下所示。系统的组成模块主要包含4个主要模块,分别为:本地/Web服务、用户客户端、工作流执行环境以及底层数据库。系统逻辑架构的构建完全符合工作流模型,并在工作流模型的基础上加入了适合本系统特点的功能模块。
图3.经费预算管理系统的逻辑架构图
经费预算管理系统所采用的是单一的工作流引擎,并且工作在经费预算管理系统的各个网络节点之上,方便访问并修改中心数据库中的工作流相关的数据。本系统的工作流引擎设计对基于面向服务架构的工作流模型中工作流引擎的功能进行了精简,尽量减少各个工作流直接的交互,降低模块直接的耦合性,提高内聚性。
本系统的工作流引擎主要包括:(1)过程定义解释模块;(2)过程执行控制模块;(3)过程管理监控模块;(4)消息解释模块;(5)Web服务调用模块等。在本系统中,过程定义解释模块的主要任务是将过程定义文件进行建模,并将定义信息保存到数据库当中;过程执行控制模块的主要任务是负责建立过程实例、控制过程实例的执行、为过程活动提供导航;过程管理监控模块的主要任务是记录过程的运行状况,并以日志的形式存储,并提供监控接口,方便管理员随时查看,了解过程执行的情况;消息解释模块的主要职责是解释过程参与者的请求信息或者Web服务的返回消息,然后提取消息中所封装的相关信息并传送到过程执行控制模块;Web服务调用模块的主要任务是在活动执行时按照活动的执行者对其提供的Web服务进行调用。
6 总结
我校经费预算管理系统的开发模式是将经费预算管理的业务流程渗透到软件系统中,从而导致了系统在开发阶段、实施阶段和维护使用阶段均出现了不同程度的问题,主要表现在系统不同模块之间的内聚程度低,耦合程度高,开发缺乏灵活性;低内聚高耦合导致系统的可维护性非常差,升级困难,从而出现系统跟不上学校不断变化的业务需求。而工作流技术可以在不改变具体功能模块实现方式的前提下,通过过程模型的重新定义来改变或改进系统的功能。这样可以是学校财务部门按照业务流程动态的构建经费预算管理系统,改变传统的人适应软件的模式,这种非常符合实际应用时的需求。
参考文献:
[1]王浩鸣,冯博琴.传统工作流管理系统在电子商务应用中的改进[J].计算机工程,2003,29(9):10-11.
[2]赵松,王红,阎嫕.Web服务组合工作流中扩展UDDI的设计与实现[J].计算机工程与设计,2009,30(1):216-218.
[3]乔治强,王勇,张璟.基于UDDI的应用服务注册中心的设计[J].计算机工程与设计,2008,29(9):6293-6295.
[4]管红杰,孙晋非.基于DF与UDDI协作的Web服务发现机制[J].计算机工程与设计,2007,28(23):5635-5637.
[5]李宁,刘厚泉.一种支持分布式工作流模型的工作流管理系统[J].计算机应用研究,2006(3):205-213.
[6]姜晨临,蔡鸿明.基于Web的分布式工作流系统的研究[J].计算机技术与发展,2008,18(6):43-46
[作者简介]
赵伦(1976.2-),男,汉,云南昭通人,硕士学位,主要研究方向:数据库技术,图像图像技术。
关键词:工作流;经费管理系统;jBPM
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 23-0000-02
1 引言
经费预算管理是财务管理最常规的手段之一,尤其在高校显得非常重要,通过经费预算管理,可以有效的控制和规划经费的收入和支出,有效的支持学校的正常运营。一个完善的、效率高的经费管理系统方案对于保障预算收支平衡、监督学校预算行为、严格控制收支的规模、保障正常教学科研工作的展开起到了非常重要的作用,所以,采用适当的技术,规范经费管理流程和管理方式对于任何单位来说都应该是财务管理工作的首要问题。目前,笔者所在高校的经费预算管理系统的开发模式是将经费预算管理的业务流程渗透到软件系统中,从而导致了系统在开发阶段、实施阶段和维护使用阶段均出现了不同程度的问题,主要表现在系统不同模块之间的内聚程度低,耦合程度高,开发缺乏灵活性;低内聚高耦合导致系统的可维护性非常差,升级困难,从而出现系统跟不上学校不断变化的业务需求。
工作流技术的出现,可以很好的解决以上问题。利用该技术,便可以在不改变具体功能模块实现方式(操作系统、硬件环境、编程语言、用户界面和应用程序开发工具等)的前提下,通过过程模型的重新定义来改变或改进系统的功能,这样可以是学校财务部门按照业务流程动态的构建经费预算管理系统,改变传统的人适应软件的模式,这种非常符合实际应用时的需求。
2 jBPM工作流介绍
2.1 基本模块介绍
JBoss jBPM[1]是一个非常适合扩展的、灵活的工作流管理系统,其核心模块是一个jar数据包,大小仅有299KB,该包提供了标准的Java应用程序接口,调用非常方便,应用的方式也非常灵活。另外,还可以通过J2EE进行部署(Websphere,Weblogic,BEA,Jboss)。
jBPM工作流系统主要包括以下组件构成:
Service
|-----Definition service
|----- Definition service Impl
|-----Execution service
|----- Definition service Impl
|----- scheduler service
|----- scheduler service Impl
|----- command service
|----- command service Impl
各service功能如下[2]:
(1)Definition service为用户提供流程定义发布/删除服务
(2)Execution service为用户提供流程执行服务
(3)scheduler server是超时调度服务器
(4)command server是异步调用服务器
在jBPM中,流程定义以流程档案的形式被封装,流程档案需要送到jPDL流程引擎才能被执行。jPDL流程引擎的主要工作是进行流程图的遍历、定义动作的执行以及流程状态的维持,同时对所有的流程时间进行记录。jBPM将状态机作为状态变化控制的基础,而且对活动图的建模模型进行扩充,jBPM的执行机制采用的是petri网算法。
2.2 jBPM工作流程的实施过程
jBPM工作流程的实施过程一共分为4个阶段,分别为定义、部署、执行和监控[3],下面对没个阶段分别介绍。
(1)定义:工作流系统的定义接口为流程开发人员(软件开发人员和业务分析师)部署流程定义提供条件。jBPM流程的定义过程描述如下:①过程定义→②任务定义→③流程的扩充;
(2)部署:在工作流定义完成以后,必须将流程定义部署到数据库之中,这样可以让jBPM工作流引擎能够在数据库中读取工作流定义相关信息并且执行。jBPM提供工作流定义部署接口。除此以外,还囊括了Hibenate的配置和部署、jBPM的配置和部署和web应用的配置和部署等。
(3)执行:用户和系统可以通过jBPM执行接口来操作流程实例(流程定义的执行),通过状态机来进行流程定义的控制,jBPM执行接口主要包含两个非常重要的方法:第一个方法为启动执行一个流程定义;第二个方法为通告工作流系统流程定义的控制情况。
(4)监控:系统用户可以利用jBPM的任务接口获取目前等待办理的任务;通过查阅状态机的输出可以掌握流程实例的状态,从而明确流程运行的准确状态。如过需要,对于有高级权限的用户,还可以对流程实例的执行进行暂停、删除或恢复。
3 工作流模型应用于系统开发的可行性
jBPM越来越受到众多系统的使用,因为以jBPM作为工作流引擎,具有非常优秀的特点[4]:
(1)不同的数据库均能满足jBPM的需求,因此可以对现有的系统进行改造,可以减少系统软件的投资;
(2)jBPM和其他服务的集成兼容性非常好,如Email服务,可以充分发挥“跟踪一通知”模型的巨大优势;
(3)利用UML技术进行活动图建模,可以让需求分析更详细,减少业务分析人员的分析模型和开发人员的实施模型之间的差异;
(4)流程的扩展性优秀,因此在解决柔性工作流模型以及特殊工作流模型上具有非常强的适应性。 (5)支持j2ee的开发。
4 经费管理系统的业务流程
在经费预算管理系统中,要为各系经费申请人员及每位教师建立一个帐户,其中帐户中存储各系的经费预算项目及教师的报销项目。经费申请人员登录后可以进行预算填写,填写完成后上报项目,并能随时查看、修改经费审批情况。相关审核人员登录之后对预算项目或报销项目进行审批,审批后将审批结果通知预算申报人,通过,所填写预算项目将永久保存,不能被删除,财务根据审批意见进行划账;不通过,则将所审项目返回报审处修改。之后,财务人员可以通过系统监督预算使用情况。
经费管理系统的核心可以归纳为:预算通知发布、部门预算方案的提交、财务主管审查、总会计师审核、校领导审核等。每一项工作都以流程的形式进行,一般由发起者来启动流程,经过相关部门的审查、复查和批复,最终达到流程的终点。不同的工作流程之间可以进行交叉、相互连接或者循环进行的,一个工作流结束以后,其终点可以作为另外新的工作流的起点,如财务主管审查过程结束后,引发了总会计师审核过程。工作流程可以超越单位而在组织甚至组织相关单位之间进行。要实现其自动化,就要以协调好资源、人员、状态、事件这四个组成工作流的元素为目标,以此对工作流的发展、运作和完成起到很好的推动和全程监控作用。信息技术的运用,除了对工作流全程信息与操作的管理以为,还要对工作流的实现起到很好的推进作用,例如:对工作人员操作权限的赋予与回收(如对文件操作完成后,不可以随意修改内容,而要由上级领导获批,待得到文件签署权或修改权)、主动对工作人员某阶段处理的实现进行提示和一定的催促,通过这些来提高工作流处理的整体效率。
高校经费预算管理系统的流程非常清晰的,它恰好是学校发布预算通知到学校公布预算一个完整的生命周期,可以用有向图进行描述,如图1所示。
此过程模型是由一系列活动所组成的,每个节点均表示一个活动,而两节点之间的有向边概括了活动之间的关系,主要包括数据连接和控制连接。数据连接表示两个活动之间的数据流,上一个活动的输出数据作为下一个活动的输入数据。控制连接表示两个活动之间的执行顺序(串行或并行执行)。在图 2 中椭圆形节点还可以继续细化,分成不同的子过程,例如:如“财务主管审查”作为经费“财务主管审查”子流程由预案初审、预案复审、预案终审等活动组成。流程的执行描述如下:财务主管部门会计部收到学习各个部门的经费预案后进行初审,如初审通过,会计部再将经费预案发送到主管会计部进行复审,如复审未通过,主管会计部将审批结果返回给经费预案申请单位,申请单位修改预案后重新启动流程进行初审;复审和初审的步骤类似,如复审通过,最后还须由财务主管部门主任进行终审。复审、终审如果未通过仍然需要发回预案申请单位进行预案修改工作。
5 系统关键模块的设计
5.1 数据库设计
经费预算管理系统的数据库可以分成两种:一种是工作流相关数据库;另外一种是业务数据库。业务数据库的内容主要是保存应用程序或者相关web服务在执行过程中需要的数据,例如部门预案表、经费预算表、经费审批表等,由于论文篇幅的关系,这里就不一一列举。工作流相关数据库主要包括工作流过程定义表、过程实例表、组织人员信息表、业务流程活动定义及实例表、Web服务表等。
5.2 工作流引擎设计
经费预算管理系统的逻辑架构图如下所示。系统的组成模块主要包含4个主要模块,分别为:本地/Web服务、用户客户端、工作流执行环境以及底层数据库。系统逻辑架构的构建完全符合工作流模型,并在工作流模型的基础上加入了适合本系统特点的功能模块。
图3.经费预算管理系统的逻辑架构图
经费预算管理系统所采用的是单一的工作流引擎,并且工作在经费预算管理系统的各个网络节点之上,方便访问并修改中心数据库中的工作流相关的数据。本系统的工作流引擎设计对基于面向服务架构的工作流模型中工作流引擎的功能进行了精简,尽量减少各个工作流直接的交互,降低模块直接的耦合性,提高内聚性。
本系统的工作流引擎主要包括:(1)过程定义解释模块;(2)过程执行控制模块;(3)过程管理监控模块;(4)消息解释模块;(5)Web服务调用模块等。在本系统中,过程定义解释模块的主要任务是将过程定义文件进行建模,并将定义信息保存到数据库当中;过程执行控制模块的主要任务是负责建立过程实例、控制过程实例的执行、为过程活动提供导航;过程管理监控模块的主要任务是记录过程的运行状况,并以日志的形式存储,并提供监控接口,方便管理员随时查看,了解过程执行的情况;消息解释模块的主要职责是解释过程参与者的请求信息或者Web服务的返回消息,然后提取消息中所封装的相关信息并传送到过程执行控制模块;Web服务调用模块的主要任务是在活动执行时按照活动的执行者对其提供的Web服务进行调用。
6 总结
我校经费预算管理系统的开发模式是将经费预算管理的业务流程渗透到软件系统中,从而导致了系统在开发阶段、实施阶段和维护使用阶段均出现了不同程度的问题,主要表现在系统不同模块之间的内聚程度低,耦合程度高,开发缺乏灵活性;低内聚高耦合导致系统的可维护性非常差,升级困难,从而出现系统跟不上学校不断变化的业务需求。而工作流技术可以在不改变具体功能模块实现方式的前提下,通过过程模型的重新定义来改变或改进系统的功能。这样可以是学校财务部门按照业务流程动态的构建经费预算管理系统,改变传统的人适应软件的模式,这种非常符合实际应用时的需求。
参考文献:
[1]王浩鸣,冯博琴.传统工作流管理系统在电子商务应用中的改进[J].计算机工程,2003,29(9):10-11.
[2]赵松,王红,阎嫕.Web服务组合工作流中扩展UDDI的设计与实现[J].计算机工程与设计,2009,30(1):216-218.
[3]乔治强,王勇,张璟.基于UDDI的应用服务注册中心的设计[J].计算机工程与设计,2008,29(9):6293-6295.
[4]管红杰,孙晋非.基于DF与UDDI协作的Web服务发现机制[J].计算机工程与设计,2007,28(23):5635-5637.
[5]李宁,刘厚泉.一种支持分布式工作流模型的工作流管理系统[J].计算机应用研究,2006(3):205-213.
[6]姜晨临,蔡鸿明.基于Web的分布式工作流系统的研究[J].计算机技术与发展,2008,18(6):43-46
[作者简介]
赵伦(1976.2-),男,汉,云南昭通人,硕士学位,主要研究方向:数据库技术,图像图像技术。