楊寧
摘 要: 采用三層架構(gòu)模式對(duì)基于大型機(jī)的銀行業(yè)務(wù)系統(tǒng)中的信用卡儲(chǔ)蓄模塊進(jìn)行了整體的框架設(shè)計(jì)。該系統(tǒng)結(jié)合了批處理過程(Batch)和在線聯(lián)機(jī)交易(Online),較好地實(shí)現(xiàn)了銀行業(yè)務(wù)的自動(dòng)化,將日常業(yè)務(wù)轉(zhuǎn)化到主機(jī)系統(tǒng)上,實(shí)現(xiàn)了人機(jī)交互,為銀行客戶提供了基本的功能,以減少銀行工作人員的工作量,并提供全天服務(wù),提高了銀行工作效率。通過對(duì)銀行信用卡業(yè)務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的剖析,結(jié)合基于OS/390開發(fā)環(huán)境的實(shí)際經(jīng)驗(yàn),從應(yīng)用系統(tǒng)整體架構(gòu)的設(shè)計(jì)、系統(tǒng)需求分析和設(shè)計(jì)方面闡述了基于大型機(jī)銀行核心業(yè)務(wù)信用卡應(yīng)用系統(tǒng)的開發(fā)設(shè)計(jì)框架。
關(guān)鍵詞: 大型機(jī); 銀行; 信用卡; DB2
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)08-35-03
0 引言
大型機(jī)技術(shù)與其他系統(tǒng)相比,處理大規(guī)模數(shù)據(jù)占有絕對(duì)的優(yōu)勢(shì)。隨著銀行業(yè)務(wù)的擴(kuò)展,銀行在聯(lián)機(jī)事務(wù)上工作量迅猛增加,業(yè)務(wù)與業(yè)務(wù)之間也越來越復(fù)雜化。銀行不再滿足業(yè)務(wù)處理系統(tǒng)只是對(duì)業(yè)務(wù)進(jìn)行單純的處理和記賬,而是要求它能同時(shí)處理更多的數(shù)據(jù),且安全保密系統(tǒng)更到位,其中靈活地對(duì)大量數(shù)據(jù)進(jìn)行處理是關(guān)鍵。本文研究了在大型機(jī)環(huán)境下實(shí)現(xiàn)信用卡的業(yè)務(wù)系統(tǒng)。通過對(duì)銀行核心業(yè)務(wù)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)信用卡子系統(tǒng)的剖析,結(jié)合基于0S/390開發(fā)環(huán)境的實(shí)踐技巧,從系統(tǒng)架構(gòu)的設(shè)計(jì)、需求分析和設(shè)計(jì)方面闡述了銀行信用卡應(yīng)用系統(tǒng)的開發(fā)設(shè)計(jì)框架,并從電子商務(wù)的信息技術(shù)和系統(tǒng)體系結(jié)構(gòu)的角度,討論了在大型機(jī)體系結(jié)構(gòu)下開發(fā)大型銀行應(yīng)用軟件的一些原則、方法和問題。從業(yè)務(wù)處理和技術(shù)處理兩個(gè)方面給出了系統(tǒng)組成,并討論了一些關(guān)鍵技術(shù)問題的解決方案。
1 IBM大型機(jī)開發(fā)平臺(tái)
目前大型主機(jī)的客戶主要包括各大銀行、保險(xiǎn)業(yè)、政府機(jī)構(gòu)和一些大型制造企業(yè),因?yàn)檫@些機(jī)構(gòu)對(duì)系統(tǒng)和信息的安全性和穩(wěn)定性要求很高。作為銀行儲(chǔ)蓄的計(jì)算機(jī)軟件系統(tǒng),大部分的商業(yè)銀行,例如中國銀行、農(nóng)業(yè)銀行、工商銀行等,都是建立在IBM的大型機(jī)(IBM 0S/390操作系統(tǒng)),目前在各大銀行在 Mainframe之上的信用卡系統(tǒng)都有5-10年的歷史,每一年都需進(jìn)行不少的增強(qiáng)(打補(bǔ)丁和功能增強(qiáng)),其軟件系統(tǒng)的構(gòu)建還延續(xù)老的C/S(Client/Server)構(gòu)架,在Server端以耦合各自應(yīng)用為主。
系統(tǒng)設(shè)計(jì)基于三層應(yīng)用模式:表示層,業(yè)務(wù)邏輯層和數(shù)據(jù)層。表示層是指基于邏輯分層的應(yīng)用程序中直接與用戶交互的應(yīng)用程序代碼,包括收集信息和檢查信息合法性的基于大型機(jī)的3270用戶界面;業(yè)務(wù)邏輯層包含了業(yè)務(wù)邏輯處理和數(shù)據(jù)訪問層,主要負(fù)責(zé)的是與數(shù)據(jù)層和表示層的交互應(yīng)用,按照業(yè)務(wù)邏輯處理的需要,合理,高效的組織信息。業(yè)務(wù)邏輯層主要由后臺(tái)批處理和在線交易處理兩個(gè)功能模塊來實(shí)現(xiàn),其中后臺(tái)批處理同3270用戶界面交互,負(fù)責(zé)銀行后臺(tái)每日的數(shù)據(jù)更新和報(bào)表維護(hù),在線交易處理模塊同3270用戶界面交互,建立在交易中間件CICS[1]之上,負(fù)責(zé)處理用戶的日常在線銀行業(yè)務(wù)(如圖1所示)。本文所提到的業(yè)務(wù)邏輯層的設(shè)計(jì)及實(shí)現(xiàn)是基于以下的環(huán)境資源:服務(wù)器為IBMOS390[2],客戶機(jī)為普通PC,中間件為IBM CICS,數(shù)據(jù)庫為DB2,數(shù)據(jù)庫編程采用COBOL。
2 大型機(jī)信用卡的需求分析
2.1 系統(tǒng)需求
信用卡子系統(tǒng)以銀行操作員為主要對(duì)象,處理銀行日常業(yè)務(wù),其中包括開戶、信用卡存款、信用卡透支、信用卡消費(fèi)、銷戶等。如果要實(shí)現(xiàn)銀行的所有業(yè)務(wù),需要大量的時(shí)間,而本文的主要目的是通過模擬銀行真實(shí)業(yè)務(wù)來對(duì)銀行系統(tǒng)的性能進(jìn)行優(yōu)化,以提高銀行業(yè)務(wù)處理的效率,所以本文以銀行業(yè)務(wù)中所涉及的數(shù)據(jù)量大、具有代表性的業(yè)務(wù)來作為該系統(tǒng)的功能需求,分析銀行業(yè)務(wù)中具有代表性的一些業(yè)務(wù),并在這些功能的基礎(chǔ)之上保留良好的接口,以方便以后對(duì)系統(tǒng)進(jìn)行功能的擴(kuò)展。
信用卡系統(tǒng)[3]是目前常用的電子貨幣系統(tǒng),使用時(shí)必須先到購物網(wǎng)站或公司登記信用卡號(hào)碼和口令,登錄電子商場(chǎng),挑選商品,然后向商家進(jìn)行購買行為的確認(rèn),商家從信用卡上劃走貨款,同時(shí)按合同規(guī)定把貨物送到用戶手中。
信用卡系統(tǒng)一般由事務(wù)管理、交易清算、表格處理等子系統(tǒng)組成。在事務(wù)處理子系統(tǒng)中設(shè)賬戶管理、卡戶管理、商戶管理、授權(quán)管理、止付名單管理、聯(lián)機(jī)檢索等功能;在交易清算子系統(tǒng)中設(shè)置卡戶存款、取款、消費(fèi)、貸款、還貸款、利息計(jì)算、內(nèi)部結(jié)賬、賬戶查詢等功能。
2.2 技術(shù)實(shí)現(xiàn)
2.2.1 批處理數(shù)據(jù)業(yè)務(wù)
以大數(shù)據(jù)量的文件或數(shù)據(jù)庫作為輸入,以作業(yè)形式啟動(dòng)的大數(shù)據(jù)量一系列批處理的操作。夜間批處理程序不需要CICS中間件[4],主要是通過COBOL[5]程序與DB2數(shù)據(jù)庫[6]或者一些文件進(jìn)行交互。批量交易(批交易)是業(yè)務(wù)系統(tǒng)的核心組件,其主要功能是加工總賬、批量賬務(wù)處理、產(chǎn)生業(yè)務(wù)報(bào)表、數(shù)據(jù)清理、數(shù)據(jù)備份等。批量賬務(wù)處理意味著系統(tǒng)會(huì)根據(jù)各子系統(tǒng)的業(yè)務(wù)流程要求,順序處理相關(guān)賬務(wù),這一過程涉及到對(duì)數(shù)據(jù)庫中表的查詢、插入、刪除以及更新。在構(gòu)成核心銀行系統(tǒng)的四個(gè)基本子系統(tǒng)中,批量處理子系統(tǒng)處于核心銀行系統(tǒng)的中間位置,起著承接業(yè)務(wù)處理子系統(tǒng)和會(huì)計(jì)報(bào)表子系統(tǒng)的樞紐作用(如圖2所示)。
批處理業(yè)務(wù)是相對(duì)于在線業(yè)務(wù)而言的。批處理操作并不是由在線用戶觸發(fā)的操作行為,它主要負(fù)責(zé)銀行日常數(shù)據(jù)的結(jié)算以及報(bào)表的打印等。
2.2.2 在線聯(lián)機(jī)交易系統(tǒng)
聯(lián)機(jī)交易具有較高的業(yè)務(wù)優(yōu)先級(jí),為了降低它對(duì)批處理操作系統(tǒng)的影響,通過共享數(shù)據(jù)庫來實(shí)現(xiàn)實(shí)時(shí)處理程序,它通常代表了在線用戶的操作行為。在信用卡存款系統(tǒng)中,存取款和信息查詢,透支等都屬于在線聯(lián)機(jī)交易操作。
一個(gè)在線聯(lián)機(jī)交易業(yè)務(wù)的主要工作包括:
⑴ 從顯示或其他設(shè)備獲得輸入信息;
⑵ 做被請(qǐng)求的實(shí)際工作;
⑶ 產(chǎn)生回應(yīng)并可能將回應(yīng)送回提供輸入的設(shè)備。
3 信用卡系統(tǒng)業(yè)務(wù)設(shè)計(jì)
信用卡存款流動(dòng)性較強(qiáng),利率很低甚至沒有,可作為電子錢包使用,是商業(yè)銀行的重要資金來源,其流動(dòng)性較大,存取頻繁,風(fēng)險(xiǎn)較大,并提供存取款,透支,提現(xiàn)等業(yè)務(wù),故管理成本較高,所以商業(yè)銀行一般對(duì)信用卡存款不支付或者支付很少的利息,有時(shí)候還收取一定的手續(xù)費(fèi)。
業(yè)務(wù)人員通過該系統(tǒng)進(jìn)行開戶、存取、透支查詢及掛失處理等維護(hù)工作;
客戶通過該系統(tǒng)進(jìn)行賬戶查詢、存取款、透支等操作;
系統(tǒng)進(jìn)行金算包括利息計(jì)算、總賬、開戶銷戶和報(bào)表查詢等。
系統(tǒng)業(yè)務(wù)流程主要有以下幾個(gè)方面。
⑴ 開戶業(yè)務(wù):輸入銀行用戶卡號(hào)后,驗(yàn)證用戶是否存在;一個(gè)用戶名下可以有多個(gè)信用卡賬戶。
⑵ 還款業(yè)務(wù):輸入用戶信用卡賬戶后,驗(yàn)證用戶是否開通和信息是否正確,然后確認(rèn)用戶所填寫的還款金額,最后由銀行業(yè)務(wù)員確認(rèn)交易,完成還款操作。
⑶ 取款業(yè)務(wù):輸入用戶信用卡賬戶后,驗(yàn)證用戶是否開通和信息是否正確,然后銀行業(yè)務(wù)員確認(rèn)用戶所填寫的提取金額,完成取款操作。該系統(tǒng)不支持透支功能。
⑷ 查詢業(yè)務(wù):輸入用戶信用卡賬戶后,驗(yàn)證用戶是否開通和信息是否正確,顯示該用戶的賬戶余額,并打印賬戶余額等明細(xì)信息。
⑸ 透支業(yè)務(wù):輸入用戶信用卡賬戶后,驗(yàn)證用戶是否開通和信息是否正確,銀行業(yè)務(wù)員確認(rèn)用戶所填寫的提取金額,完成透支操作。需注意的是,該系統(tǒng)支持透支功能,但是不同賬戶的透支額度不同,超過透支額度則無法完成操作。
⑹ 銷戶業(yè)務(wù):作為電子錢包,信用卡賬戶往往與定期、貸款以及其他投資產(chǎn)品相關(guān)聯(lián)作為資金的出入口,信用卡賬戶的銷戶可能影響到這些賬戶的正常處理。信用卡賬戶在銷戶前系統(tǒng)會(huì)自動(dòng)檢測(cè)其關(guān)聯(lián)賬戶的情況;若其為活動(dòng)賬戶、新開戶或者未執(zhí)行的遠(yuǎn)期賬戶的資金轉(zhuǎn)出、轉(zhuǎn)出賬戶,則不可進(jìn)行銷戶。信用卡賬戶銷戶后,賬戶狀態(tài)碼變?yōu)椤癷nactive”,操作員賬號(hào)。執(zhí)行時(shí)間等操作信息都將存入賬戶備注信息中,此操作與同賬戶信息錄入日志。
目前國內(nèi)銀行所處的金融環(huán)境和銀行客戶的需求新趨勢(shì)按照模型化銀行(Modeling Bank)的思想,其思想主要表現(xiàn)為:以客戶為中心、以價(jià)值為本的關(guān)系架構(gòu),培養(yǎng)以客戶為中心的業(yè)務(wù)觀;通過層次化的業(yè)務(wù)模型,對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行了有效的隔離,采用構(gòu)件化的標(biāo)準(zhǔn)接口來進(jìn)行不同層次間數(shù)據(jù)的訪問,支持開放式的外聯(lián)環(huán)境和較為復(fù)雜業(yè)務(wù)邏輯的調(diào)整,支持當(dāng)前銀行業(yè)迫切要求在有限時(shí)間內(nèi)推出新產(chǎn)品需求。
4 信用卡系統(tǒng)業(yè)務(wù)實(shí)現(xiàn)
信用卡信息管理主要是通過讀取隊(duì)列數(shù)據(jù),將定義的隊(duì)列數(shù)據(jù)與文件定義中的數(shù)據(jù)相對(duì)應(yīng),將隊(duì)列作為中間變量,根據(jù)主鍵讀取到整條數(shù)據(jù),存放在虛擬的隊(duì)列中,再對(duì)其進(jìn)行操作。該操作的優(yōu)點(diǎn)是:在完成操作后,可以充分釋放數(shù)據(jù),不占用內(nèi)存空間。
4.1 增加信用卡信息
將輸入值傳給對(duì)應(yīng)的VSAM文件中的相應(yīng)值,根據(jù)信用卡編號(hào)這個(gè)主鍵將記錄寫入到文件中去。
4.2 刪除信用卡信息
將讀取到的記錄保存到臨時(shí)隊(duì)列中,如果輸入的文件記錄與隊(duì)列中的相同,則執(zhí)行刪除這個(gè)命令。刪除成功后,在畫面上顯示“credit deleted.”。
4.3 查詢信用卡信息
根據(jù)主鍵讀取文件記錄,將主鍵相同的記錄顯示在畫面上。
4.4 修改信用卡信息
在修改信用卡信息時(shí),需要先讀取數(shù)據(jù),將數(shù)據(jù)存放到臨時(shí)隊(duì)列中,輸入需要修改的內(nèi)容,存放到文件定義中,然后重寫文件記錄。
5 結(jié)束語
本文設(shè)計(jì)了一種銀行核心業(yè)務(wù)處理系統(tǒng),它的業(yè)務(wù)分為聯(lián)機(jī)交易和批量交易兩種。其中批量交易的是通過節(jié)點(diǎn)調(diào)用CICS程序,再由CICS中間件處理數(shù)據(jù)表和參數(shù);批處理程序包括批交易提交器、中間件和主機(jī)系統(tǒng)作業(yè),它能夠提供高效、安全的信用卡管理功能。
國內(nèi)信用卡系統(tǒng)的問題主要還是在于開展業(yè)務(wù)創(chuàng)新和技術(shù)創(chuàng)新層面,需要對(duì)其進(jìn)行二次加工,進(jìn)而探索出適合各商業(yè)銀行自身的個(gè)人征信系統(tǒng)的實(shí)際應(yīng)用方法。
參考文獻(xiàn):
[1] 劉貴.IBM S390事務(wù)處理CICS[M].浙江大學(xué)出版社,2000.
[2] Paul Rogers, Paola Bari, Luiz Fadel, Redelf Janssen, Alvaro Salla. ABCs of z/0S System Programming[M].IBM Redbooks,2008.
[3] 余青枝,高珍.CICS在銀行信用卡系統(tǒng)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2009.13:3349-3351
[4] CICS Resource Definition Guide[Z].IBM Corporation,1997.
[5] Mike Murach, Anne Prince, Raul Menendez. Murach's Mainframe COBOL[M].Mike Murach & Associates,2004.
[6] Singh.S.K.數(shù)據(jù)庫系統(tǒng)概念設(shè)計(jì)及應(yīng)用[M].機(jī)械工業(yè)出版社,2009.