摘要 該文在簡(jiǎn)單介紹工作流管理系統一般概念和銀行系統業(yè)務(wù)的基礎上,闡述基于工作流技術(shù)實(shí)現的銀行辦公系統的體系結構和系統主要組成部分,重點(diǎn)介紹業(yè)務(wù)實(shí)現。
關(guān)鍵詞 工作流,銀行業(yè)務(wù),體系結構
引言
當今世界經(jīng)濟日趨一體化,特別是自中國加入WTO 以后,各類(lèi)企業(yè)以及銀行、證券、基金公司等通過(guò)信息化建設降低生產(chǎn)和運營(yíng)成本,使自己的產(chǎn)品或服務(wù)具有更強的國內國際競爭力,就顯得尤為重要。我國的銀行系統中,以前容易造成遍及中小城鄉的各級營(yíng)業(yè)網(wǎng)點(diǎn)的系統不能完全兼容,無(wú)法實(shí)現大集中式的統一管理,難以將優(yōu)質(zhì)服務(wù)落實(shí)到實(shí)處,既不利于客戶(hù)關(guān)系管理的有效實(shí)施,也不利于面對信息化程度很高的國外金融機構的激烈競爭。利用工作流技術(shù)可以解決不能完全兼容,實(shí)現統一管理。本文主要以深圳市某銀行的一套通用影像單證傳遞系統為基礎,來(lái)論述工作流系統的基本概念,銀行辦公系統的實(shí)現和體系結構。
1工作流管理系統概述
工作流管理聯(lián)盟(WfMC) 提出工作流管理系統參考模型[2], 該模型定義了一個(gè)基本的工作流管理系統所需要的6個(gè)基本模塊,并制定了各模塊之間的接口標準, 其基本的模塊功能如圖1 所示.
圖1 工作流參考模型
工作流執行服務(wù):它借助于一個(gè)或多個(gè)工作流引擎,來(lái)激活并解釋過(guò)程定義的全部或部分,并同外部的應用程序進(jìn)行交互,完成工作流過(guò)程實(shí)例的創(chuàng )建、執行與管理,為工作流程的運行提供一個(gè)運行時(shí)環(huán)境.
過(guò)程定義工具:主要功能是給用戶(hù)提供一種對實(shí)際業(yè)務(wù)過(guò)程進(jìn)行分析、建模的手段, 并生成業(yè)務(wù)過(guò)程的可被計算機處理的形式化描述(過(guò)程定義) .其他工作流執行服務(wù):在大型的WfMS 中,工作流可能需要多個(gè)工作流機共同完成,甚至需要其他異質(zhì)的工作流執行服務(wù)來(lái)輔助來(lái)完成,這涉及到WfMS 系統之間的互聯(lián).
客戶(hù)應用程序:它給用戶(hù)提供一種手段,以處理過(guò)程實(shí)例運行過(guò)程中需要人工干預的任務(wù). 每一個(gè)這樣的任務(wù)就被稱(chēng)為一個(gè)工作項,它包括處理上的一些要求(如處理時(shí)間的限制) 及待處理的數據對象等. WfMS 為每一個(gè)用戶(hù)維護一個(gè)工作項列表,它表示當前需要該用戶(hù)處理的所有任務(wù).
被調應用程序:工作流執行服務(wù)在過(guò)程實(shí)例的運行過(guò)程中,調用的、用以對應用數據進(jìn)行處理的程序. 在過(guò)程定義中包含這種應用程序的詳細信息,如類(lèi)型、地址等.
管理及監控工具:主要功能是對WfMS 中過(guò)程實(shí)例的狀態(tài)進(jìn)行監控與管理,如用戶(hù)管理、角色管理、審計管理、資源控制等.
2 系統的體系結構
某銀行業(yè)務(wù)系統的設計總體上參照工作流參考模型,結合實(shí)際應用進(jìn)行了以下擴展。采用了C/S模式的OCR客戶(hù)端程序主要采用VB實(shí)現,同時(shí)也采用了B/S模式的以IE應用客戶(hù)端的WEB應用服務(wù)程序。主要采用Java實(shí)現。系統基于自己實(shí)現的一套輕量級工作流引擎。工作流引擎的實(shí)現基于關(guān)系型數據庫.利用關(guān)系型數據庫實(shí)現有四個(gè)好處:1。與工作流引擎相關(guān)的各種控制數據(包括業(yè)務(wù)活動(dòng)的狀態(tài)數據)可以存儲在數據庫系統中 2。與此相關(guān)的數據的完整性可以由數據庫管理系統來(lái)維護;3。利用關(guān)系結構可以方便地定義工作流引擎中的各種數據格式和數據結構;4??梢苑奖愕乩脭祿旃芾硐到y提供的各種DML語(yǔ)句來(lái)操作工作流引擎所需的各種數據。體系結構如圖2:
圖2 某銀行業(yè)務(wù)系統體系結構
3 體系結構中各個(gè)組成部分和實(shí)現
3.1 數據庫設計
數據庫是整個(gè)系統實(shí)現和運行的基礎。參照工作流參考模型的定義,系統基于關(guān)系結構的輕量級工作流引擎的數據庫包括三個(gè)主要模型:組織機構模型、信息模型和過(guò)程模型。限于篇幅,本文只給出模型數據庫表的簡(jiǎn)單描述,不給出具體字段的描述。
⑴ 組織機構模型:定義了一個(gè)企業(yè)或部門(mén)的組織機構關(guān)系,它主要信息包括:部門(mén)組成、部門(mén)內的成員組成、成員和職務(wù)的分配規則及成員之間的職務(wù)等級關(guān)系。它主要包含下列表:①機構信息表(org)②用戶(hù)信息表(tuser)③用戶(hù)授權表(UserAgent)④角色信息表(Role)⑤用戶(hù)與角色映射表(UserMapRole)⑥角色權限分配表(角色-模塊-權限(RolePrivilege). 對每個(gè)角色都由自己的對模塊處理的權限,我們就用角色權限分配表通過(guò)role表和moduleconfig表的主鍵進(jìn)行關(guān)聯(lián)。
⑵ 信息模型:管理工作流處理過(guò)程中使用的數據,控制數據的使用范圍和表現形式。管理的數據可以分為兩部分:應用數據和用于顯示、交互的表單數據。應用數據主要指辦公過(guò)程中產(chǎn)生的需要進(jìn)行流轉和處理的信息,包括①工作流存儲信息表(FlowLib): 羅列出系統每個(gè)工作流程的大概信息②活動(dòng)列表(ActvitiyLib):對每個(gè)流程的每個(gè)環(huán)節的信息進(jìn)行靜態(tài)描述③轉移條件信息表(TransitionLib):上一環(huán)節流動(dòng)到下一環(huán)節的方向和信息的記錄;表單數據定義用戶(hù)與系統進(jìn)行交互的界面。表單用來(lái)采集和顯示數據。包括:①表單模板信息(Form):對表單的基本信息的記錄②表單更新?tīng)顩r表Formupdatestate)③個(gè)性化表的建立基本信息表(FormExtend):由于此系統的表單是把各個(gè)子系統的表單共同點(diǎn)集合在每個(gè)表單中,形成系統的表單。但是要是子系統要新添加表單的話(huà),就要進(jìn)行個(gè)性化表單的處理,這個(gè)表就是進(jìn)行這個(gè)作用。表單由管理員根據具體流程和流程的具體任務(wù)進(jìn)行靈活定制。
⑶ 過(guò)程模型:過(guò)程模型反映實(shí)際業(yè)務(wù)流程信息。過(guò)程模型把組織機構、應用數據、表單與實(shí)際應用步驟聯(lián)系起來(lái)。過(guò)程模型的主要實(shí)例動(dòng)態(tài)表結構包括:①工作流實(shí)例任務(wù)列表(Wfassignment):對每個(gè)活動(dòng)處理的信息(由人來(lái)處理);②工作流實(shí)例環(huán)節信息表(Wfactivity):對每個(gè)活動(dòng)(環(huán)節)的記錄(可以預定義一些人或角色處理),本系統是通過(guò)角色來(lái)進(jìn)行任務(wù)分配,采用全部算法,將任務(wù)復制多個(gè)拷貝,使滿(mǎn)足條件的每個(gè)用戶(hù)都獲得一個(gè)任務(wù);③工作流實(shí)例信息表(Wfprocess):對每個(gè)工作流程進(jìn)行記錄,其他四個(gè)表通過(guò)這個(gè)表的主鍵進(jìn)行關(guān)聯(lián);④工作流實(shí)例相關(guān)數據列表(WfrelavantData):和工作流實(shí)例相關(guān)的一些數據,有可能參與到流程的流轉與跳轉;⑤工作流實(shí)例轉移映射表(Wftransition):流程的流轉的記錄。對每個(gè)實(shí)際任務(wù)的記錄,包括它的開(kāi)始,流轉,結束都記錄在document表中。通過(guò)state來(lái)表示任務(wù)的狀態(tài),0代表待處理,1代表處理中,3代表處理結束。
3.2工作流流程定制實(shí)現
管理員通過(guò)圖形化的界面定制工具,通過(guò)拖放代表任務(wù)的元素,然后給任務(wù)賦予各種屬性值,綁定活動(dòng)執行角色以及與活動(dòng)相聯(lián)系的表單標志符,定義活動(dòng)轉移規則等,然后把這些信息通過(guò)XML 語(yǔ)言記錄在過(guò)程模型表中。流程定制從實(shí)現的角度看主要包括兩方面工作: ①圖形化的定制工具,主要通過(guò)Java 的Applet 和Swing 來(lái)實(shí)現; ②流程的表示和描述,主要采用XML 語(yǔ)言。
3.3 表單定制的實(shí)現
表單定制系統支持拖放操作,直接在可視化圖形界面上用鼠標操作進(jìn)行參數設置和流程設計。這種方式設表單,所見(jiàn)即所得??梢岳L制表單模板, 設置各個(gè)域的屬性如定義域的數據類(lèi)型(數字, 文字,清單, 時(shí)間, 圖像, 編碼)等。還可以定義表單外觀(guān)如域的位置,大及, 顏色, 字體等。所生成的表單以XML 文件的形式存儲于數據庫中, 它由兩部分組成, 一部分XML 文件定義表格外觀(guān)而另一部分則定義表格中各個(gè)域的屬性。在系統運行該表單時(shí),表單從數據庫中還原,當流程執行到某個(gè)活動(dòng)時(shí),按照流程和活動(dòng)的定義,將調用與該活動(dòng)相綁定的表單,系統將根據該表單的定義數據,動(dòng)態(tài)還原生成相應的表單供活動(dòng)參與者使用。
3.4 工作流引擎的實(shí)現
工作流引擎主要功能包括:解釋過(guò)程定義;創(chuàng )建過(guò)程實(shí)例并控制其執行;調度各項活動(dòng);為用戶(hù)工作表添加工作項;通過(guò)應用程序接口A(yíng)PI 調用應用程序等。本系統設計的引擎包括調度中心、任務(wù)管理、任務(wù)指派、依賴(lài)檢查、轉發(fā)控制和啟動(dòng)控制這六部分組成。這六部分以調度中心為核心,其他5部分以調度中心的調度來(lái)對任務(wù)進(jìn)行處理。分別對六部分來(lái)簡(jiǎn)單介紹①調度中心:調度中心接受從外部接口發(fā)送過(guò)來(lái)有關(guān)流程控制的請求(如業(yè)務(wù)初始化、獲取任務(wù)以及結束任務(wù)等),然后根據不同的請求類(lèi)型調用相應的處理模塊完成與本次請求相關(guān)的操作并將結果返回。②任務(wù)管理:任務(wù)管理主要根據調度中心的指示完成諸如任務(wù)創(chuàng )建、任務(wù)狀態(tài)的轉換以及相關(guān)數據的維護等工作。③任務(wù)指派:任務(wù)指派處理只是針對常規交互活動(dòng)。它分為5種算法為ALL,LEAST WORKING IST,FCFA,PRIORITY和ROUND ROBIN,我們這里采用ALL方法,任務(wù)分配給角色中的所有人員;④依賴(lài)檢查:依賴(lài)檢查指的是活動(dòng)的前依賴(lài)規則的檢查,調度中心在將任務(wù)切換到就緒狀態(tài)之前將進(jìn)行相關(guān)的前依賴(lài)規則檢查,只有滿(mǎn)足檢查條件的任務(wù)才可以進(jìn)行狀態(tài)的切換;⑤轉發(fā)控制:當應用發(fā)出“結束任務(wù)”的外部請求時(shí),該請求將觸發(fā)調度中心啟動(dòng)“轉發(fā)控制”。轉發(fā)控制的主要依據在工作流數據模型中定義的后轉發(fā)規則,后轉發(fā)規則定義了當前活動(dòng)與其后繼活動(dòng)之間的關(guān)系。⑥啟動(dòng)控制:?jiǎn)?dòng)控制負責常規自動(dòng)活動(dòng)的所對應的自動(dòng)執行體的啟動(dòng)并對其活動(dòng)進(jìn)行監控。
3.5 客戶(hù)端使用接口
系統采用Web 形式,客戶(hù)端工具主要是瀏覽器和掃描儀。此系統開(kāi)始錄入業(yè)務(wù)采用applet調用用VB編寫(xiě)的OCR客戶(hù)端程序進(jìn)行表單的填寫(xiě)錄入。當用戶(hù)以符合當前任務(wù)的角色和身份登錄系統時(shí),將在用戶(hù)界面中看到以超鏈接形式表現的任務(wù)列表。
4 本系統銀行業(yè)務(wù)及其流程介紹
本系統的通用性在于把國際單證進(jìn)出口業(yè)務(wù)、帳戶(hù)管理系統、代收費業(yè)務(wù)集中處理和帳戶(hù)管理系統等業(yè)務(wù)集中在這一個(gè)系統去處理?;旧仙钲谑秀y行系統的業(yè)務(wù)處理流程為:網(wǎng)點(diǎn)――支行――中心,基于以上,此系統把所有業(yè)務(wù)流程環(huán)節集中在通用版本中。
網(wǎng)點(diǎn)經(jīng)辦:包括3個(gè)功能:新業(yè)務(wù)、退回業(yè)務(wù)處理、暫存業(yè)務(wù)處理。新業(yè)務(wù)為網(wǎng)點(diǎn)柜員將票據實(shí)物掃描形成影像,并填寫(xiě)基本信息,根據流程定義發(fā)送到目的地。退回業(yè)務(wù)和暫存業(yè)務(wù)在柜員的待處理列表中體現,可以選擇后進(jìn)行修改、刪除、發(fā)送。管轄支行柜臺經(jīng)辦可以執行同類(lèi)權限操作。
網(wǎng)點(diǎn)復核:復核柜員接收網(wǎng)點(diǎn)經(jīng)辦提交的影像數據,校對掃描影像和錄入數據的正確性,決定是否退回經(jīng)辦修改還是根據工作流定義投遞到上級目的地。管轄支行柜臺擁有同類(lèi)權限操作。
網(wǎng)點(diǎn)復核有兩種方式:1 錄入性的復核,即重復錄入經(jīng)辦柜員輸入的信息來(lái)核對正確性;2 察看式復核,即柜員無(wú)需再次輸入同樣信息通過(guò)察看的方式核對正確性。
管轄支行審核:管轄支行接收網(wǎng)點(diǎn)和支行柜臺提交的影像數據,審核其有效性,如果無(wú)效,退回經(jīng)辦處理,有效則根據工作流定義投遞到下一個(gè)目的地或者直接就完成了業(yè)務(wù)。支行審核方式雷同于網(wǎng)點(diǎn)復核
中心預處理:中心操作員在業(yè)務(wù)到達中心前可以隨時(shí)補錄網(wǎng)點(diǎn)經(jīng)辦錄入發(fā)送后的信息。中心預處理的信息是網(wǎng)點(diǎn)不能看到的一些信息。中心預處理環(huán)節只有在業(yè)務(wù)數據到達支行審核后才有效(即業(yè)務(wù)流程中如果無(wú)須通過(guò)支行審核這環(huán)節,中心預處理自動(dòng)失效)。該功能作為通用版的一個(gè)功能模塊,不作為流程的一部分存在。
中心接收:中心操作員根據權限定義接收處理網(wǎng)點(diǎn)提交的影像數據,并校對有效性,無(wú)效則退回網(wǎng)點(diǎn)經(jīng)辦處理,有效則可以執行打印和補錄等操作。
中心補錄:中心接收后由中心補錄柜員對業(yè)務(wù)進(jìn)行補錄處理。
例如:想要構建一個(gè)外匯業(yè)務(wù),只要把網(wǎng)點(diǎn)經(jīng)辦、中心接收打印和中心補錄抽離出來(lái)利用工作流編輯工具組成一個(gè)外匯業(yè)務(wù)流程.
5 結束語(yǔ)
本文論述了開(kāi)發(fā)基于工作流的銀行辦公系統的基本概念、體系結構、主要組成部分、各部分的實(shí)現方法以及銀行系統通用性的介紹,反映了開(kāi)發(fā)一般性工作流管理系統的基本思路,對于實(shí)現其他類(lèi)似應用具有一定的借鑒意義。
參考文獻
[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