工作流技术在银行系统中的应用

来源:百度文库 编辑:神马文学网 时间:2024/04/19 13:46:47
摘要 该文在简单介绍工作流管理系统一般概念和银行系统业务的基础上,阐述基于工作流技术实现的银行办公系统的体系结构和系统主要组成部分,重点介绍业务实现。
关键词  工作流,银行业务,体系结构
引言
当今世界经济日趋一体化,特别是自中国加入WTO 以后,各类企业以及银行、证券、基金公司等通过信息化建设降低生产和运营成本,使自己的产品或服务具有更强的国内国际竞争力,就显得尤为重要。我国的银行系统中,以前容易造成遍及中小城乡的各级营业网点的系统不能完全兼容,无法实现大集中式的统一管理,难以将优质服务落实到实处,既不利于客户关系管理的有效实施,也不利于面对信息化程度很高的国外金融机构的激烈竞争。利用工作流技术可以解决不能完全兼容,实现统一管理。本文主要以深圳市某银行的一套通用影像单证传递系统为基础,来论述工作流系统的基本概念,银行办公系统的实现和体系结构。
1工作流管理系统概述
工作流管理联盟(WfMC) 提出工作流管理系统参考模型[2], 该模型定义了一个基本的工作流管理系统所需要的6个基本模块,并制定了各模块之间的接口标准, 其基本的模块功能如图1 所示.

图1  工作流参考模型
工作流执行服务:它借助于一个或多个工作流引擎,来激活并解释过程定义的全部或部分,并同外部的应用程序进行交互,完成工作流过程实例的创建、执行与管理,为工作流程的运行提供一个运行时环境.
过程定义工具:主要功能是给用户提供一种对实际业务过程进行分析、建模的手段, 并生成业务过程的可被计算机处理的形式化描述(过程定义) .其他工作流执行服务:在大型的WfMS 中,工作流可能需要多个工作流机共同完成,甚至需要其他异质的工作流执行服务来辅助来完成,这涉及到WfMS 系统之间的互联.
客户应用程序:它给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务. 每一个这样的任务就被称为一个工作项,它包括处理上的一些要求(如处理时间的限制) 及待处理的数据对象等. WfMS 为每一个用户维护一个工作项列表,它表示当前需要该用户处理的所有任务.
被调应用程序:工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序. 在过程定义中包含这种应用程序的详细信息,如类型、地址等.
管理及监控工具:主要功能是对WfMS 中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等.
2  系统的体系结构
某银行业务系统的设计总体上参照工作流参考模型,结合实际应用进行了以下扩展。采用了C/S模式的OCR客户端程序主要采用VB实现,同时也采用了B/S模式的以IE应用客户端的WEB应用服务程序。主要采用Java实现。系统基于自己实现的一套轻量级工作流引擎。工作流引擎的实现基于关系型数据库.利用关系型数据库实现有四个好处:1。与工作流引擎相关的各种控制数据(包括业务活动的状态数据)可以存储在数据库系统中 2。与此相关的数据的完整性可以由数据库管理系统来维护;3。利用关系结构可以方便地定义工作流引擎中的各种数据格式和数据结构;4。可以方便地利用数据库管理系统提供的各种DML语句来操作工作流引擎所需的各种数据。体系结构如图2:

图2 某银行业务系统体系结构
3 体系结构中各个组成部分和实现
3.1 数据库设计
数据库是整个系统实现和运行的基础。参照工作流参考模型的定义,系统基于关系结构的轻量级工作流引擎的数据库包括三个主要模型:组织机构模型、信息模型和过程模型。限于篇幅,本文只给出模型数据库表的简单描述,不给出具体字段的描述。
⑴ 组织机构模型:定义了一个企业或部门的组织机构关系,它主要信息包括:部门组成、部门内的成员组成、成员和职务的分配规则及成员之间的职务等级关系。它主要包含下列表:①机构信息表(org)②用户信息表(tuser)③用户授权表(UserAgent)④角色信息表(Role)⑤用户与角色映射表(UserMapRole)⑥角色权限分配表(角色-模块-权限(RolePrivilege). 对每个角色都由自己的对模块处理的权限,我们就用角色权限分配表通过role表和moduleconfig表的主键进行关联。
⑵ 信息模型:管理工作流处理过程中使用的数据,控制数据的使用范围和表现形式。管理的数据可以分为两部分:应用数据和用于显示、交互的表单数据。应用数据主要指办公过程中产生的需要进行流转和处理的信息,包括①工作流存储信息表(FlowLib): 罗列出系统每个工作流程的大概信息②活动列表(ActvitiyLib):对每个流程的每个环节的信息进行静态描述③转移条件信息表(TransitionLib):上一环节流动到下一环节的方向和信息的记录;表单数据定义用户与系统进行交互的界面。表单用来采集和显示数据。包括:①表单模板信息(Form):对表单的基本信息的记录②表单更新状况表Formupdatestate)③个性化表的建立基本信息表(FormExtend):由于此系统的表单是把各个子系统的表单共同点集合在每个表单中,形成系统的表单。但是要是子系统要新添加表单的话,就要进行个性化表单的处理,这个表就是进行这个作用。表单由管理员根据具体流程和流程的具体任务进行灵活定制。
⑶ 过程模型:过程模型反映实际业务流程信息。过程模型把组织机构、应用数据、表单与实际应用步骤联系起来。过程模型的主要实例动态表结构包括:①工作流实例任务列表(Wfassignment):对每个活动处理的信息(由人来处理);②工作流实例环节信息表(Wfactivity):对每个活动(环节)的记录(可以预定义一些人或角色处理),本系统是通过角色来进行任务分配,采用全部算法,将任务复制多个拷贝,使满足条件的每个用户都获得一个任务;③工作流实例信息表(Wfprocess):对每个工作流程进行记录,其他四个表通过这个表的主键进行关联;④工作流实例相关数据列表(WfrelavantData):和工作流实例相关的一些数据,有可能参与到流程的流转与跳转;⑤工作流实例转移映射表(Wftransition):流程的流转的记录。对每个实际任务的记录,包括它的开始,流转,结束都记录在document表中。通过state来表示任务的状态,0代表待处理,1代表处理中,3代表处理结束。
3.2工作流流程定制实现
管理员通过图形化的界面定制工具,通过拖放代表任务的元素,然后给任务赋予各种属性值,绑定活动执行角色以及与活动相联系的表单标志符,定义活动转移规则等,然后把这些信息通过XML 语言记录在过程模型表中。流程定制从实现的角度看主要包括两方面工作: ①图形化的定制工具,主要通过Java 的Applet 和Swing 来实现; ②流程的表示和描述,主要采用XML 语言。
3.3 表单定制的实现
表单定制系统支持拖放操作,直接在可视化图形界面上用鼠标操作进行参数设置和流程设计。这种方式设表单,所见即所得。可以绘制表单模板, 设置各个域的属性如定义域的数据类型(数字, 文字,清单, 时间, 图像, 编码)等。还可以定义表单外观如域的位置,大及, 颜色, 字体等。所生成的表单以XML 文件的形式存储于数据库中, 它由两部分组成, 一部分XML 文件定义表格外观而另一部分则定义表格中各个域的属性。在系统运行该表单时,表单从数据库中还原,当流程执行到某个活动时,按照流程和活动的定义,将调用与该活动相绑定的表单,系统将根据该表单的定义数据,动态还原生成相应的表单供活动参与者使用。
3.4 工作流引擎的实现
工作流引擎主要功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口API 调用应用程序等。本系统设计的引擎包括调度中心、任务管理、任务指派、依赖检查、转发控制和启动控制这六部分组成。这六部分以调度中心为核心,其他5部分以调度中心的调度来对任务进行处理。分别对六部分来简单介绍①调度中心:调度中心接受从外部接口发送过来有关流程控制的请求(如业务初始化、获取任务以及结束任务等),然后根据不同的请求类型调用相应的处理模块完成与本次请求相关的操作并将结果返回。②任务管理:任务管理主要根据调度中心的指示完成诸如任务创建、任务状态的转换以及相关数据的维护等工作。③任务指派:任务指派处理只是针对常规交互活动。它分为5种算法为ALL,LEAST WORKING IST,FCFA,PRIORITY和ROUND ROBIN,我们这里采用ALL方法,任务分配给角色中的所有人员;④依赖检查:依赖检查指的是活动的前依赖规则的检查,调度中心在将任务切换到就绪状态之前将进行相关的前依赖规则检查,只有满足检查条件的任务才可以进行状态的切换;⑤转发控制:当应用发出“结束任务”的外部请求时,该请求将触发调度中心启动“转发控制”。转发控制的主要依据在工作流数据模型中定义的后转发规则,后转发规则定义了当前活动与其后继活动之间的关系。⑥启动控制:启动控制负责常规自动活动的所对应的自动执行体的启动并对其活动进行监控。
3.5 客户端使用接口
系统采用Web 形式,客户端工具主要是浏览器和扫描仪。此系统开始录入业务采用applet调用用VB编写的OCR客户端程序进行表单的填写录入。当用户以符合当前任务的角色和身份登录系统时,将在用户界面中看到以超链接形式表现的任务列表。
4 本系统银行业务及其流程介绍
本系统的通用性在于把国际单证进出口业务、帐户管理系统、代收费业务集中处理和帐户管理系统等业务集中在这一个系统去处理。基本上深圳市银行系统的业务处理流程为:网点――支行――中心,基于以上,此系统把所有业务流程环节集中在通用版本中。
网点经办:包括3个功能:新业务、退回业务处理、暂存业务处理。新业务为网点柜员将票据实物扫描形成影像,并填写基本信息,根据流程定义发送到目的地。退回业务和暂存业务在柜员的待处理列表中体现,可以选择后进行修改、删除、发送。管辖支行柜台经办可以执行同类权限操作。
网点复核:复核柜员接收网点经办提交的影像数据,校对扫描影像和录入数据的正确性,决定是否退回经办修改还是根据工作流定义投递到上级目的地。管辖支行柜台拥有同类权限操作。
网点复核有两种方式:1 录入性的复核,即重复录入经办柜员输入的信息来核对正确性;2 察看式复核,即柜员无需再次输入同样信息通过察看的方式核对正确性。
管辖支行审核:管辖支行接收网点和支行柜台提交的影像数据,审核其有效性,如果无效,退回经办处理,有效则根据工作流定义投递到下一个目的地或者直接就完成了业务。支行审核方式雷同于网点复核
中心预处理:中心操作员在业务到达中心前可以随时补录网点经办录入发送后的信息。中心预处理的信息是网点不能看到的一些信息。中心预处理环节只有在业务数据到达支行审核后才有效(即业务流程中如果无须通过支行审核这环节,中心预处理自动失效)。该功能作为通用版的一个功能模块,不作为流程的一部分存在。
中心接收:中心操作员根据权限定义接收处理网点提交的影像数据,并校对有效性,无效则退回网点经办处理,有效则可以执行打印和补录等操作。
中心补录:中心接收后由中心补录柜员对业务进行补录处理。
例如:想要构建一个外汇业务,只要把网点经办、中心接收打印和中心补录抽离出来利用工作流编辑工具组成一个外汇业务流程.
5 结束语
本文论述了开发基于工作流的银行办公系统的基本概念、体系结构、主要组成部分、各部分的实现方法以及银行系统通用性的介绍,反映了开发一般性工作流管理系统的基本思路,对于实现其他类似应用具有一定的借鉴意义。
参考文献
[1] WfMC. Workflow Management Coalition Specification: Terminology & Glossary. Document Number WFMC-TC-1011, Brussels, 1996
[2] David Hollingsworth.《Workflow Management Coalition The Workflow Reference Model》Document Number TC00-1003 Document Status – Issue.95:20-60
[3] Lawrence, P Editor. Workflow Handbook 1997, Workflow Management Coalition.1997:20-80
[4] WFMC. Workflow Management Coalition Terminology and Glossary(WFMC-TC-1011). Technical report. Brussels: Workflow ManagementCoalition, 1996
[5] Aalst, W M P van der,K M van Hee.Workflow Management: Modellen Methoden en Systemen. (in Dutch).Schoonhoven Academic Service.1997
_xyz