基于工作流的网上财务报销管理系统技术研究与实现
2009-06-22马晓红王荣华
马晓红 王荣华
[摘要]采用工作流技术,基于NET平台和J2EE技术,以Oracle 9i数据库为数据平台,开发一个自动实现企业财务报销流程的工作流管理系统,缩短办公时间,提高企业的工作效率,真正实现财务报销流程自动化,为网络时代企业的信息系统建设提供崭新的模式-
[关键词]工作流管理系统NET财务报销自动化柔性管理
中图分类号:TP3文献标识码:A文章编号:1671—7597(2009)1020107--02
随着信息技术和网络技术的不断提高,基于网络的、分布式财务管理系统在石油、天然气生产和管理部门得到了越来越广泛的应用。传统的财务管理系统是一个面向功能的事务处理系统,财务的报销、审批等业务和数据服务器布置集中,系统在开发、实施、维护和使用中出现了一些问题,具体表现为各业务功能重构性差、审批等流程重组性低、柔性不足,业务流程的改变往往需要大量的人力、物力进行系统的升级、改造,使得系统不能适应企业的业务发展需要。
工作流技术和业务流程再造紧密相连,它的引用可以用来解决上述问题。工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化,在此过程中,工作文档、业务信息或任务按照一定的过程规则流转,实现组织成员间的协同工作,以达到业务的整体目标。通过采用工作流技术,实现了财务管理系统由面向功能到面向过程的转变,为企业业务重组和灵活经营奠定了基础,从而提高了企业的生产效率,增强了企业的竞争力[2]。
本文以,NET为系统平台,在工作流和J2EE技术基础之上探讨了网上财务系统的解决方案。
一、基于工作流的财务网上管理系统的实施方案
(一)系统体系结构设计
系统采用目前较为先进的多层c/B/A/D体系结构,最底层是数据库服务器层(Ds),其上是应用服务器层(As),然后是WEB服务器层(Bs),最后是客户(c)层,该系统结构有效地满足系统的各种业务处理的需求,解决了服务器端负载均衡的问题,易于维护和升级,其具体结构如下:
1、表示层:它是系统的人机接口部分,实现程序界面和用户的交互功能,是用户与系统间交互信息的窗口。系统的表示层功能是通过安装在IIS服务器上的各ASP页面实现的[3]。
2、应用层:它是系统各功能实现的主体,主要包括工作流管理系统、Web应用服务器、应用服务器和基本组件,公司核心和易变的逻辑都在这里完成。
3、数据服务器层:它由数据库服务器所构成,负责管理对数据库的操作和维护,能够实现公司各分立数据库的整合和数据的挖掘功能,能够迅速执行数据的更新和检索,为应用层和表示层提供数据支持服务。c/B/A/D模式的体系结构见图1。
(二)系统组件分层设计
系统采用基于J2EE的组件开发技术,它支持不同协议、不同平台的使用,能够处理企业大量动态的、大规模的、分布式的数据。由于石油企业财务管理系统结构复杂,在组件的设计过程中遵循了自顶向下、逐层分解的设计思想,分别是:
1分系统组件:是一组完成特定功能的业务集合,完成表示层的财务预算、财务报销、机构人事等模块功能。
2业务组件:是一组实现分系统功能的业务逻辑,对应于图1应用层中的工作流(业务)管理。企业的业务逻辑主要在这里完成,如财务单据的生成和单据的下达。
3原子级组件:是一组逻上不可再分的组件,对应于应用层中的基本单元组,这些组件存在于组件库当中,由工作流管理平台组合驱动生成逻辑组件,进而配置适合石油企业的网上财务管理系统。
二、工作流管理平台设计
(一)工作流管理平台概述
工作流管理平台[4]是指运行在一个或多个工作流引擎上的用于定义、实现和管理工作流运行的一套软件系统。工作流是通过工作流管理平台实现的,这个系统必须具有以下三方面的功能。
1、建立期功能:它应能定义和建模工作流过程和活动。
2、运行期控制功能:它应能在一个可操作的环境下管理工作流过程,并能排序和处理每个过程的不同活动。
3、运行期交互:为了处理不同的活动步,它应能在运行期与用户或IT工具进行交互。
(二)工作流平台组成
工作流平台通常由以下几个关键部件构成:
1、业务过程定义工具:过程定义工具被用来创建计算机可处理的业务过程描述。
2、业务过程执行环境和工作流引擎:业务过程执行环境包括一个或多个工作流引擎,工作流引擎是核心软件,它的功能包括解释过程定义、创建过程实例并控制其执行、调度各项活动、为用户工作表添加工作项、通过应用程序接口调用应用程序、提供监督和管理功能等。
3、工作流控制数据:指被工作流执行子系统和工作流引擎管理的系统数据,例如工作流实例的状态信息、每一活动的状态信息等。
4、应用程序和应用数据;应用程序可以直接被工作流管理平台调用或通过应用程序代理被间接调用。
5、工作表和工作表处理程序:工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。
(三)工作流平台体系结构设计
本文基于J2EE技术设计了一个多层的体系结构[5],其各层组成如下;
1、表示层主要由建模工具、管理工具和权限设置等组成。用户通过Web浏览器登录管理界面后,以简单直观的图形化方式定义现实中的业务流程,并且可以根据生产需要,调整已有的业务流程。
2、应用服务层是工作流管理平台的核心组成部分,主要由工作流引擎、公共服务、消息服务、事件服务和应用代理5个部分组成。该层负责表示层定义的业务流程的执行。
工作流引擎是应用服务层的核心部分,系统采用开源的工作流引擎如osworkflow、jbpm、shark等,为表示层提供访问数据层的标准接口:公共服务是工作流执行系统提供的相关后台服务,负责协同工作流引擎处理具有特别要求的业务;消息服务是为用户提供基于消息传递方式的工作流引擎接口调用;事件服务是工作流执行系统的扩展部分,提供监听工作流内部事务的开放式接口;应用代理为无法实现组件封装方式的应用程序提供基于J2EE组件形式的包装。
3、数据服务层是工作流平台的数据基础,由工作流模型数据库、工作流实例数据库、工作流组织数据库组成。它主要负责对系统中的模型数据、实例数据、组织数据进行组织和维护。
三、应用实例
我们以财务管理系统中的财务报销为例,说明如何基于工作流[6]的平台来分析和实现一个具体的业务。
1、用户登录工作流管理平台,进行业务流程分析,确定业务流程模型,通过平台提供的视图建模工具建立模型。
可以定义差旅费报销单据。差旅费报销单据拥有若干单据属性,如出差目的、出差时间等。差旅费报销单据拥有若干费用明细,如交通费、住宿费等。交通费拥有若干费用属性,如发生时间段等;交通费还需要对应若干票据(发票)。
2、通过对该业务流程的建模,基本明确该流程所涉及的组织和角色,以及状态和状态间的控制转移条件。根据参考模型给出基本单元组件设计规划,确定组件之间的关系和组件接口。开发出的组件向工作流平台注册,利用工作流平台来实现组件的管理,通过组件管理建立财务报销单据审核组件库。
3、建立活动与组件、执行角色的关联,由此创建一个完整的业务流程模型,其执行和控制由工作流平台服务层所提供的服务来完成。
四、结束语
采用工作流技术的企业网上财务管理系统,改变了传统企业财务系统面向功能的构建方式,实现了企业需要灵活配置业务流程,很好地解决了企业生产和管理柔性的问题,适应了企业经营灵活多变的要求,提高了企业在激烈的市场竞争当中的生存能力,为企业的生产节省了大量的人力、物力,为企业带来了可观的经济效益。