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