消費信貸系統(tǒng)架構(gòu)設(shè)計說明書_第1頁
消費信貸系統(tǒng)架構(gòu)設(shè)計說明書_第2頁
消費信貸系統(tǒng)架構(gòu)設(shè)計說明書_第3頁
消費信貸系統(tǒng)架構(gòu)設(shè)計說明書_第4頁
消費信貸系統(tǒng)架構(gòu)設(shè)計說明書_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)宇信易誠消費信貸管理系統(tǒng)——架構(gòu)設(shè)計說明書v0.1

目錄

概述文檔目的《架構(gòu)設(shè)計說明書》用于確定消費信貸系統(tǒng)的整體架構(gòu),明確業(yè)務(wù)功能結(jié)構(gòu)、技術(shù)方向、以及設(shè)計原則,為后續(xù)階段進(jìn)行概要設(shè)計、詳細(xì)設(shè)計、編碼開發(fā)以及測試提供方向性、原則性的指導(dǎo)。消費信貸系統(tǒng)主要針對消費金融公司、銀行消費信貸部門的業(yè)務(wù)運營需求而設(shè)計,本說明書將從消費貸業(yè)務(wù)特征分析為切入點,從業(yè)務(wù)架構(gòu)、邏輯架構(gòu)、技術(shù)架構(gòu)等多個維度,逐步分析采用何種技術(shù)架構(gòu)可以在最大程度地滿足現(xiàn)有業(yè)務(wù)需求的同時,也能兼顧將來一段時間內(nèi)的業(yè)務(wù)發(fā)展變化。背景與建設(shè)目標(biāo)基于國內(nèi)整體消費金融業(yè)務(wù)的發(fā)展情況和銀行關(guān)注消費金融的程度,以及國家加速發(fā)放消費金融牌照的趨勢,為了能夠搶占消費系統(tǒng)服務(wù)市場份額,特別研發(fā)新一代消費信貸管理系統(tǒng)。消費系統(tǒng)建設(shè)整體目標(biāo)如下:1、建立先進(jìn)、有效、多類型的進(jìn)單渠道,并建立與渠道的溝通方式,以擴(kuò)大與外部合作機(jī)構(gòu)、消費者的聯(lián)系和服務(wù)質(zhì)量;擴(kuò)大客戶群體和異地服務(wù)的能力。2、為了支持消費貸款業(yè)務(wù)短、平、快、業(yè)務(wù)量大等情況,建立適合的業(yè)務(wù)處理流程。實現(xiàn)業(yè)務(wù)的精細(xì)化管理、統(tǒng)計分析、監(jiān)測、審批、控制的電子化和自動化,提供存儲、匯總、收集、反映,為各層次的經(jīng)營管理者提供監(jiān)控、決策、分析、預(yù)警等功能,為信貸業(yè)務(wù)的創(chuàng)新、經(jīng)營決策提供充分的信息支持。3、高效的影像審批流程:通過消費信貸管理系統(tǒng)和影像系統(tǒng)的整合,以及通過系統(tǒng)提供在線通知、在線打印等自動化功能,實現(xiàn)業(yè)務(wù)審批模式的突破,滿足消費業(yè)務(wù)集中審批、無紙化辦公的要求。4、智能的數(shù)據(jù)決策分析平臺:通過各種報表的展示和數(shù)據(jù)的統(tǒng)計分析查詢,為不同層次的人員提供相應(yīng)的數(shù)據(jù),提高決策的效率和決策的效果。5、標(biāo)準(zhǔn)外圍系統(tǒng)接口和數(shù)據(jù)規(guī)則:建立統(tǒng)一的外圍系統(tǒng)接口,包括人行征信/公安身份核查/總帳接口等;建立導(dǎo)入/導(dǎo)出數(shù)據(jù)和模板標(biāo)準(zhǔn),便于與第三方進(jìn)行數(shù)據(jù)文件交換。設(shè)計規(guī)范與約束Web容器(Servlet)JSR154規(guī)范流程引擎遵循WFMC規(guī)范規(guī)則引擎遵循JSR199規(guī)范內(nèi)容服務(wù)器遵循JSR170、JSR283規(guī)范基于宇信公司EMP平臺進(jìn)行構(gòu)建,在遵循EMP的架構(gòu)規(guī)范的同時,在技術(shù)實現(xiàn)方式上接受EMP約束.流程引擎參照WFMC標(biāo)準(zhǔn)進(jìn)行設(shè)計,與非WFMC標(biāo)準(zhǔn)的其它流程平臺對接實現(xiàn)上存在一定的技術(shù)困難,需作為關(guān)注的技術(shù)實現(xiàn)約束條件。參考資料《消費金融公司試點管理辦法》述語個人消費貸款:金融機(jī)構(gòu)向個人客戶發(fā)放的有指定消費用途的人民幣貸款業(yè)務(wù),用途主要有個人購物、住房、汽車、一般助學(xué)貸款等消費性個人貸款。CC:電話客服中心系統(tǒng)。電核:金融機(jī)構(gòu)通過電話溝通方式核實借款人身份、貸款用途等基本情況。面簽:貸款審批通過之后,約客戶到場簽訂借款合同、繳納費用,向客戶說明貸款權(quán)利義務(wù)。合作方:指金融機(jī)構(gòu)在營銷貸款產(chǎn)品時的合作伙伴,如合作商戶、大賣場、4S店等等。功能模塊:系統(tǒng)技術(shù)實現(xiàn)時,封裝一類業(yè)務(wù)功能的組織單元,一個功能模塊下有一個或多個功能組件。功能組件:系統(tǒng)技術(shù)實現(xiàn)時封裝業(yè)務(wù)功能與處理邏輯的組織單元,每個單元在概念上與業(yè)務(wù)過程中的業(yè)務(wù)實體基本一致,如客戶組件。頁面部件:系統(tǒng)技術(shù)實現(xiàn),用于在系統(tǒng)界面中展現(xiàn)業(yè)務(wù)要素的基本單元,如文本輸入框。

架構(gòu)需求分析消費貸關(guān)鍵業(yè)務(wù)場景分析場景:申請消費貸款申請,是信貸類系統(tǒng)的典型場景之一,申請主要目的是為收集客戶貸款融資需求與客戶的基本信息,同時申請還需借助各種渠道來充分發(fā)揮其市場營銷功能。在消費貸的申請場景下,會有多種運作模式,例如由客戶經(jīng)理直接登錄系統(tǒng)操作完成、由客戶通過各種渠道操作完成、由合作商戶通過各種渠道代理客戶操作完成等等。消費貸申請用例圖如下:圖2-1從上圖中可知,消費貸申請過程中涉及到的角色有客戶(申請人)、經(jīng)銷商(合作商戶)以及客戶經(jīng)理??蛻艨梢詮木W(wǎng)站(銀行本身或第三方)、終端設(shè)備發(fā)起貸款申請;經(jīng)銷商可以從終端設(shè)備、合作商戶子系統(tǒng)(消費貸子系統(tǒng))發(fā)起申請;客戶經(jīng)理可以從消費貸系統(tǒng)發(fā)起申請。對客戶、經(jīng)銷商與客戶經(jīng)理均可以通過系統(tǒng)查詢申請的狀態(tài)(其權(quán)限范圍內(nèi))。客戶經(jīng)理與后臺自動任務(wù)可以對申請資料的合規(guī)性進(jìn)行篩選。消費貸申請,是整個系統(tǒng)的業(yè)務(wù)操作入口,其涉及角色、渠道多,情況復(fù)雜變數(shù)多,同時在消費貸下的不同產(chǎn)品申請時所關(guān)注的業(yè)務(wù)要素可能有較明顯差異,系統(tǒng)需要充分考慮金融機(jī)構(gòu)消費貸產(chǎn)品種類井噴時系統(tǒng)的應(yīng)對方式。由于涉及不少渠道是由客戶主動填寫并發(fā)起的,所以其數(shù)據(jù)量可能會很大,相應(yīng)垃圾數(shù)據(jù)量也會很大,所以需要有人工與系統(tǒng)自動相配合的數(shù)據(jù)篩選功能,對大量申請數(shù)據(jù)進(jìn)行甄別。由于業(yè)務(wù)申請量可能較大,在設(shè)計時需要考慮盡量將錄入工作從客戶經(jīng)理的日常工作中剝離出來,減輕客戶經(jīng)理重復(fù)工作量。場景:電核消費貸款電核,用于對客戶身份與申請信息真實的核查,一般情況下,電核為金融機(jī)構(gòu)內(nèi)的獨立部門使用獨立的系統(tǒng)(如CC)進(jìn)行,消費貸款系統(tǒng)僅配合其完成電核操作即可,而不再去實現(xiàn)與CC系統(tǒng)相關(guān)的功能(如任務(wù)調(diào)度、座席管理等等)。消費貸用例圖如下所示:圖2-2從上圖中可知,消費貸電核過程中涉及到的角色有客戶經(jīng)理、電核人員與客戶??蛻艚?jīng)理從消費貸系統(tǒng)中將資料提交至電核系統(tǒng),同時也可以查詢電核反饋結(jié)果;電核人員在電核系統(tǒng)中與客戶電話聯(lián)系,并將電核情況記錄至系統(tǒng)中。電核過程,對于消費貸系統(tǒng)而言是一個可選部分,不是所有消費貸產(chǎn)品都需要這一步驟,而對于沒有類似CC系統(tǒng)的金融機(jī)構(gòu),但需要對客戶作電核,則可以考慮直接作為系統(tǒng)業(yè)務(wù)流程的一部分來簡化實現(xiàn),即在消費貸中系統(tǒng)錄入線下電核結(jié)果即可。由于電核步驟涉及獨立電核系統(tǒng),所以在設(shè)計時需要充分考慮與電核系統(tǒng)間可能的交互模式,保證在接入不同的電核系統(tǒng)時,對消費貸本身業(yè)務(wù)流程的實現(xiàn)沒有影響。場景:審批消費貸申請審批,也是信貸類系統(tǒng)的典型場景之一,審批主要目的是對客戶的貸款申請,按金融機(jī)構(gòu)內(nèi)規(guī)章制度的進(jìn)行逐級審批。不同金融機(jī)構(gòu)、不同的產(chǎn)品其審批流程步驟、參與人員、以及審批規(guī)則將會有明顯區(qū)別。消費貸申請審批的用例圖下如:圖2-3從上圖可知,參與審批的角色主要有客戶經(jīng)理與審批人員(如,其他客戶經(jīng)理、主管、風(fēng)險專員等等),擔(dān)當(dāng)審批人員的角色不同機(jī)構(gòu)、不同產(chǎn)品、甚至同一產(chǎn)品內(nèi)不同的申請(如,新件與復(fù)議件)都會有不同角色人員來完成審批工作,其完全取決與行內(nèi)的規(guī)章制度。但無論審批角色如何變化,其需要完成的動作基本一至,主要包括對申請的同意、否決、打回或撤銷等等。在設(shè)計時需考慮消費貸審批過程的不確性,系統(tǒng)需要提供靈活配置功能來應(yīng)對不確定的審批需求。由于每天申請單量可能較大,需要在設(shè)計層面充分考慮如何提高審批工作效率,例如批量審批操作、自動審批、關(guān)鍵消息提醒等等。同時,需要提供充足的審批統(tǒng)計數(shù)據(jù),為行內(nèi)的審批流程優(yōu)化再造提供數(shù)據(jù)分析支撐。場景:面簽面簽是信貸類系統(tǒng)的典型場景之一,面簽主要目的是在審批通過之后約客戶到場簽訂借款合同、繳納費用,向客戶說明貸款權(quán)利義務(wù)等等。一般而言面簽主要工作是在系統(tǒng)線下完成,線上主要合同打印、登記面簽結(jié)果、確認(rèn)合同已簽即可。但對于消費貸而言,對時間要求高,面簽過程可能會直接在場外完成,以提高貸款的效率。消費貸面簽用例圖如下:圖2-4從上圖可知,面簽過程參與角色主要有客戶、客戶經(jīng)理、合作商戶(如經(jīng)銷商),如果在場內(nèi)簽訂合同,則客戶與客戶經(jīng)理參與即可,如果在場外簽訂合同,則可能由客戶、合作商戶、與客戶經(jīng)理共同參與,也有可能在場外通過專用設(shè)備進(jìn)行遠(yuǎn)程面簽(如視屏面簽),此時就不需要客戶經(jīng)理必須到場,僅需合作商戶通過配合即可。由于消費貸面簽過程大多都是在場內(nèi)線下進(jìn)行,但隨著IT技術(shù)的不斷發(fā)展,面簽功能會逐步放在場外上線進(jìn)行,系統(tǒng)需要充分考慮在新的面簽?zāi)J较氯绾文芎芎玫闹С帧鼍埃哼€款計劃與費率計算由于消費貸大多數(shù)都是采用按揭方式還款,對靈活的還款計劃計算的必不可少。系統(tǒng)需要能支持各種方式的還款計劃計算,以及相應(yīng)的費率計算。由于金融公司可能沒有核算系統(tǒng),所以系統(tǒng)中需要能提供部分賬務(wù)核算功能;而對于有核算系統(tǒng)的銀行,則需要實現(xiàn)與其核算系統(tǒng)的接口。為此系統(tǒng)需要充分考慮如何支持有核算系統(tǒng)與無核算系統(tǒng)兩種情況。消費貸業(yè)務(wù)特征消費貸款產(chǎn)品與其他貸款產(chǎn)品相比,其基本特征是小額、快速與靈活。在運作模式上主要特征是與特約商戶合作推廣業(yè)務(wù)。在目標(biāo)客戶群體在主要特征是針對年輕人、年輕家庭以及由合作商戶推薦的客戶。服務(wù)模式上,主要特征是IT自助型服務(wù)模式。消費貸‘快速’這個特征最為突出,其中最快的貸款產(chǎn)品要求可以直接在商戶賣場中1小時之內(nèi)完成,一般的消費貸款產(chǎn)品,要求在1~3個工作日內(nèi)完成。而機(jī)構(gòu)內(nèi)審批時間要求最快能在30內(nèi)分鐘完成??梢哉f沒有什么貸款產(chǎn)品比消費貸對工作效率要求更高,這對于承載消費貸業(yè)務(wù)運營的IT系統(tǒng)而言,如何滿足對高效率的要求將是一個挑戰(zhàn)。消費貸‘靈活’主要體現(xiàn)在還款方式、利率與貸款品種上。由于消費針對的目標(biāo)客戶的用款需求十分明確,相對與信用卡(等其貸款產(chǎn)品)而言,還款方式與利率定價的針對性更強,對于客戶而言享用金融服務(wù)的方式(如更適合自身條件的還款方式)也更為多樣化,更靈活。由于消費領(lǐng)域十廣泛,與商戶合作方式很多,對應(yīng)的消費貸會衍生出很多產(chǎn)品,如針對耐用消費品的貸款產(chǎn)品、針對電子消費品的貸款產(chǎn)品、針對教育培訓(xùn)的貸款產(chǎn)品、針對汽車衍生品的貸款產(chǎn)品等等。對于IT系統(tǒng)而言,需仔細(xì)考慮如何應(yīng)對業(yè)務(wù)產(chǎn)品形態(tài)的多樣化。也許是由于年輕人更能接受超前消費的觀念的原因,市面上已有消費貸產(chǎn)品面向的客戶主要群體一般是年輕人,消費貸產(chǎn)品將來一定會考慮采用更有針對性的自動營銷渠道,例如直接在網(wǎng)上商城內(nèi)營銷、手機(jī)/PAD等終端設(shè)備上營銷、微博營銷等等。對于IT系統(tǒng)而言則需要能支持多種的營銷渠道來源,同時也能提供給客戶更多享用金融服務(wù)的渠道,如通過手機(jī)/PAD等IT自助服務(wù)。由于金融機(jī)構(gòu)的消費貸產(chǎn)品未來發(fā)展,在很大程度上取決于對合作商戶的不斷發(fā)掘,對于IT系統(tǒng)而言,需要充分考慮如何應(yīng)對不斷增加的合作商與合作模式給系統(tǒng)功能帶來的負(fù)面影響。設(shè)計目標(biāo)與原則消費貸系統(tǒng)作為一個獨立、新興的貸款類業(yè)務(wù)操作系統(tǒng)主要圍繞著以下三個主要目標(biāo)進(jìn)行設(shè)計與建設(shè):系統(tǒng)能提升消費貸業(yè)務(wù)運作的效率;消費貸業(yè)務(wù)對時效性要求很高,在設(shè)計時需要優(yōu)先考慮,系統(tǒng)能提供哪些模式,讓工作效率得到最大限度的提高。提高用戶在系統(tǒng)中的工作效率,首先是要有良好的UI設(shè)計,在UI設(shè)計時考慮能達(dá)到不同業(yè)務(wù)場景下突出不同的重點的效果,盡量實現(xiàn)‘消息驅(qū)動’的UI操作模式。要提高效率僅僅從UI層考慮是不夠的,更應(yīng)該從優(yōu)化業(yè)務(wù)操作流程著手,進(jìn)一步考慮IT技術(shù)如何幫助業(yè)務(wù)流轉(zhuǎn)加速,例如,自動化數(shù)據(jù)篩選、自動化審批、任務(wù)智能分配、大任務(wù)拆分、基于數(shù)據(jù)分析的流程再造等等。除此UI與業(yè)務(wù)流程優(yōu)化之外,在系統(tǒng)設(shè)計時需考慮提供相應(yīng)機(jī)制,保障在業(yè)務(wù)高峰期的系統(tǒng)性能,盡量保證不會出現(xiàn)因為系統(tǒng)響應(yīng)速度原因而影響業(yè)務(wù)效率,例如,合理的子系統(tǒng)劃分、流量控制、支持系統(tǒng)的橫向擴(kuò)展架構(gòu)等等。系統(tǒng)能規(guī)范業(yè)務(wù)流程、屏蔽操作風(fēng)險;消費貸系統(tǒng)作為業(yè)務(wù)操作管理類系統(tǒng)而言,能夠監(jiān)控與約束對機(jī)構(gòu)內(nèi)人員的行為,屏蔽人為操作風(fēng)險的發(fā)生,是最原始的初衷之一。系統(tǒng)設(shè)計時,不僅僅把貸款的審批過程用工作流模式來實現(xiàn),而是考慮采用其來實現(xiàn)操作層面的主線功能,通過在系統(tǒng)中構(gòu)建各業(yè)務(wù)場景間流轉(zhuǎn)邏輯關(guān)系,來實現(xiàn)業(yè)務(wù)規(guī)范在系統(tǒng)中的落地。同時,工作流模式還需要與風(fēng)險識別與攔截機(jī)制結(jié)合起來,才能真正發(fā)揮規(guī)范業(yè)務(wù)流程的作用。系統(tǒng)能支撐消費業(yè)務(wù)的不斷發(fā)展;消費金融公司在國內(nèi)處于起步階段,未來的變數(shù)還很大,其主要表現(xiàn)在新消費貸產(chǎn)品可能會大量出現(xiàn),甚至?xí)霈F(xiàn)全新的業(yè)務(wù)模式?,F(xiàn)在所設(shè)計的消費貸系統(tǒng),必須要認(rèn)真考慮如何能適應(yīng)將來較長一段時間內(nèi)(3年)的業(yè)務(wù)需求變化,至少要保證不影響業(yè)務(wù)的發(fā)展,同時,盡量能縮短未來新產(chǎn)品的落地開發(fā)周期,不影響新產(chǎn)品的投放時間。

架構(gòu)設(shè)計系統(tǒng)業(yè)務(wù)架構(gòu)消費貸業(yè)務(wù)不同于傳統(tǒng)的個人消費類貸款,其有著更靈活的業(yè)務(wù)運營方式,下面將從業(yè)務(wù)模式、業(yè)務(wù)流程、功能劃分三個部分來分析消費貸業(yè)務(wù)的架構(gòu)。業(yè)務(wù)模式消費貸的業(yè)務(wù)模式與傳統(tǒng)的個人消費類貸款、以及個人信用卡相比,最大的不同就是營銷渠道的不同,采用現(xiàn)場主動營銷方式,即直接在客戶消費場所營銷,而不是被動地等著客戶上門來貸款或者刷卡消費。為此,消費貸的運作需要合作方支持,業(yè)務(wù)模式見下圖:圖3-1在傳統(tǒng)貸款方式下,客戶的貸款需求是直接面向金融機(jī)構(gòu)的,而消費貸是通過在合作方(如賣場、4S店、培訓(xùn)機(jī)構(gòu)等等)的內(nèi)主動挖掘需求。在成交之后,金融機(jī)構(gòu)直接將貨款打給合作方;客戶方分期向金融機(jī)構(gòu)還款;金融機(jī)構(gòu)在一定條件下,定期付給合作方一定的傭金。在這種模式下金融機(jī)構(gòu)賺取了利息與手續(xù)費、合作方擴(kuò)大自己的客戶群并能賺取一定的傭金、客戶則提前買到了合作方的產(chǎn)品或服務(wù),實現(xiàn)了三方的共贏。在這個模式下,對于金融機(jī)構(gòu)而言,最重要的是如何找到合適合作方,且能盡可能多地擴(kuò)展新的不同領(lǐng)域的合作方,同時提供合作方感興趣的激勵機(jī)制(如傭金等等);對于客戶則能提供更有針對性的還款方式。業(yè)務(wù)流程消費貸在業(yè)務(wù)流程上與普通貸款在本質(zhì)上沒有太多區(qū)別,其目地都是為了實現(xiàn)審貸分離。區(qū)別在于消費貸為提升效率,流程中各節(jié)點專業(yè)性更強、分工更明確,即采用類似信貸工廠的模式(注:消費貸并不是工廠模式)。業(yè)務(wù)流程圖如下所示:圖3-2消費貸業(yè)務(wù)流程中,電核為可選節(jié)點,有的機(jī)構(gòu)或產(chǎn)品不需電核這一步驟,其它步驟均會必選步驟,面簽為線下節(jié)點,今后可能會放至線上。申請節(jié)點,由客戶經(jīng)理或客戶填寫并發(fā)起;電核節(jié)點,由獨立的電核人員完成對客戶的核實;審批節(jié)點,由管理人員完成對申請的審批;面簽節(jié)點,由客戶經(jīng)理與客戶一起完成的同合的簽訂;放款節(jié)點,由財務(wù)人員完成打款操作;還款節(jié)點,由系統(tǒng)自動完成從客戶還款賬戶上扣款,或客戶主動發(fā)起提前還款。隨著業(yè)務(wù)量的增大,今后可能會出現(xiàn)無法滿足對放款時限要求的情況,屆時將考慮將上述流程中部分業(yè)務(wù)外包出去,例如申請與電核。同時,盡可能采用自動流程部分代替其中的人工操作。功能劃分消費貸系統(tǒng)主要面向獨立的金融機(jī)構(gòu),一般其核心職能會劃分到四個子部門:產(chǎn)品管理部門、風(fēng)險管理部門、營銷部門、財務(wù)部門。對應(yīng)圖3-2中,申請、面簽交由營銷部門中的客戶經(jīng)理完成,審批由產(chǎn)品管理部門與風(fēng)險管理部門負(fù)責(zé),放款由財務(wù)部門完成。具體消費貸功能劃分如下:圖3-3消費信貸業(yè)務(wù)功能由五個部分組成,包括業(yè)務(wù)受理子模塊、貸款業(yè)務(wù)流程處理和管理子模塊、帳務(wù)模塊、報表子模塊、業(yè)務(wù)監(jiān)控子模塊,其包含了完成消費主體業(yè)務(wù)所需的全部功能。各子模塊完成專項工作,如受理模塊主要完成營銷和渠道進(jìn)單功能;業(yè)務(wù)流程處理和管理模塊主要完成金融機(jī)構(gòu)內(nèi)部對業(yè)務(wù)的所有業(yè)務(wù)處理,包括電核、人工審批、放款、貸后管理、催收和保全;帳務(wù)模塊主要完成貸款或卡業(yè)務(wù)的各種帳務(wù)計算,包括還款計劃生成、利息/貼息計算、罰息計算、復(fù)利計算、費用計算、傭金計算等;報表模塊主要完成對所有業(yè)務(wù)分析、流程分析、客戶分析、風(fēng)險分析等統(tǒng)計和展現(xiàn);業(yè)務(wù)監(jiān)控模塊主要用于對業(yè)務(wù)的實時業(yè)務(wù)量監(jiān)控。系統(tǒng)邏輯架構(gòu)消費貸款系統(tǒng)功能從邏輯上劃分成六個層面——業(yè)務(wù)操作層、業(yè)務(wù)管理層、業(yè)務(wù)工具層、決策分析層、賬務(wù)核算層以及技術(shù)支撐層。功能邏輯結(jié)構(gòu)如下圖所示:圖3-4功能層次劃分業(yè)務(wù)操作層在業(yè)務(wù)操作層中的功能用于直接面向客戶的業(yè)務(wù)操作與呈現(xiàn),可以簡單地認(rèn)為其相當(dāng)于系統(tǒng)的面門,用作信貸基層人員對最終客戶的業(yè)務(wù)門面與操作入口。其中包括業(yè)務(wù)產(chǎn)品線、合作方兩大部分。產(chǎn)品部分以業(yè)務(wù)產(chǎn)品為基本組織單位,其承擔(dān)著一個產(chǎn)品在生命周期內(nèi)所有對外的功能。之所從在概念上與物理上將這一層分離出來,一方面能將系統(tǒng)功能與現(xiàn)實中的業(yè)務(wù)角色功能映射上,減少現(xiàn)實業(yè)務(wù)與虛擬系統(tǒng)之間在基本概念與組織結(jié)構(gòu)上的差異;另一方面也是因為在業(yè)務(wù)操作層面上,業(yè)務(wù)形態(tài)豐富、變數(shù)大,期望通過架構(gòu)上的分離,來確保系統(tǒng)能適應(yīng)這種特性,不會因為新業(yè)務(wù)的加入而影響已有業(yè)務(wù)。可以說業(yè)務(wù)操作層就是整個信貸業(yè)務(wù)的外延。業(yè)務(wù)管理層在業(yè)務(wù)管理層中的功能用于對業(yè)務(wù)操作層的支撐與管控,可以簡單地認(rèn)為其相當(dāng)于中后臺,用于中、基層管理人員對業(yè)務(wù)運作的監(jiān)控與管控。本層以業(yè)務(wù)生命周期過程中的業(yè)務(wù)實體為基本組織單位,其承載著各業(yè)務(wù)環(huán)節(jié)的管理、配置、監(jiān)控、以及對應(yīng)業(yè)務(wù)實體的基本功能(與現(xiàn)有劃分基本對應(yīng)),并為業(yè)務(wù)操作層提供具體功能服務(wù)。由于采用業(yè)務(wù)實體為功能單組織單位,其相對操作層而言是穩(wěn)定的,這是因為業(yè)務(wù)實體作為業(yè)務(wù)生命周期中承載業(yè)務(wù)要素的介質(zhì),其種類個數(shù)是一定是可窮舉的,其在不同貸款業(yè)務(wù)間是相同、相似甚至是可共用的,并且在不同銀行間之也是相似的。而相對于業(yè)務(wù)操作層面,業(yè)務(wù)產(chǎn)品種類個數(shù)(尤其是對未來新產(chǎn)品)是不可預(yù)期的,不同業(yè)務(wù)產(chǎn)品間使用的業(yè)務(wù)實體也不會相同,更重要的每種產(chǎn)品的運作模式都會完全不同,不同銀行間產(chǎn)品的運作模式也有明顯差異??梢哉f業(yè)務(wù)管理層就是整個信貸業(yè)務(wù)內(nèi)涵。業(yè)務(wù)工具層在業(yè)務(wù)工具層中的功能,用于為業(yè)務(wù)操作與業(yè)務(wù)管理的正常運作提供必要的專業(yè)的工具箱,但其并不對業(yè)務(wù)運作的形態(tài)、業(yè)務(wù)規(guī)則或流程產(chǎn)生直接影響。同時,業(yè)務(wù)工具是完全可以與的業(yè)務(wù)操作、管理相分離的,甚至可以替換成第三方獨立系統(tǒng)。之所以劃分出這一層,主要原因是為銀行內(nèi)部對專業(yè)化技能的要求越來越高,隨著銀行自身的發(fā)展,會形成越來越多專業(yè)職能崗位(或部門),或者干脆將部分非核心的業(yè)務(wù)操作外包給第三方。獨立的工具層,可以與銀行機(jī)構(gòu)組織職能一一對應(yīng)上;同時,也有利于在核心業(yè)務(wù)與非核心業(yè)務(wù)之間劃分出一條明顯界線,從架構(gòu)層面去減輕兩者間的耦合程度。決策分析層在決策分析層中的功能,用于對業(yè)務(wù)運營過程中產(chǎn)生的數(shù)據(jù)進(jìn)行統(tǒng)計分析,例如,對業(yè)務(wù)辦理效率分析、對貸款人群分布分析、逾期貸款占比分析等等。決策分析層中,主要通過日終批數(shù)據(jù)加工處理、報表工具來實現(xiàn)對數(shù)據(jù)的分析與展現(xiàn)。由于數(shù)據(jù)分析不是現(xiàn)階段消費貸系統(tǒng)的關(guān)注的重點,因此,獨立劃分出決策分析層,有利于保持核心功能的穩(wěn)定性。賬務(wù)核算層在賬務(wù)核算層中的功能,用于為沒有核心業(yè)務(wù)系統(tǒng)的金融機(jī)構(gòu),提供一個Mini版的核心業(yè)務(wù)系統(tǒng),其只含貸款功能,不含存款功能(注:與銀監(jiān)管會相關(guān)策略吻合)。其能完成貸款發(fā)放、還款扣款、罰息減免、貼息處理、減值計提、貸款形態(tài)轉(zhuǎn)移等基礎(chǔ)的賬務(wù)核算功能。由于不是所有金融機(jī)構(gòu)都沒有核算系統(tǒng),所以將本層獨立出來,保持其與它層次間的獨立性,有利用增強產(chǎn)品的適應(yīng)能力。技術(shù)支撐層技術(shù)支撐層,用于為消費貸系統(tǒng)提供基礎(chǔ)開發(fā)平臺與運行容器,是所有業(yè)務(wù)功能落地的基石。其中包含的EMP容器、流程引擎、規(guī)則引擎、報表引擎與數(shù)據(jù)訪問工具等等。本層將在后繼章節(jié)進(jìn)行詳細(xì)介紹。功能層次關(guān)系消費貸款系統(tǒng)中六層功能之間是一個逐層依賴的關(guān)系,如下圖所示:圖3-5消費貸系統(tǒng)本質(zhì)上是一個業(yè)務(wù)操作系統(tǒng),業(yè)務(wù)操作層自然便成為了整個系統(tǒng)的主要門戶,是所有業(yè)務(wù)的入口。業(yè)務(wù)的正常運營,離不開業(yè)務(wù)管理部門(風(fēng)控部門)的管控,與專業(yè)部門(例如,財務(wù)部門、產(chǎn)品部門、客服部門、IT部門等等)的大力支持。因此,業(yè)務(wù)操作層依賴與業(yè)務(wù)管理層、業(yè)務(wù)工具層、賬務(wù)核算層以及技術(shù)支撐層。業(yè)務(wù)管理部門為了能更好的對業(yè)務(wù)進(jìn)行管控,也需要專業(yè)部門(如產(chǎn)品部門、財務(wù)部門、IT部門等等)的積極配合。因此,業(yè)務(wù)管理層依賴與業(yè)務(wù)工具層、賬務(wù)核算層與技術(shù)支撐層。金融機(jī)構(gòu)財部門是一個相對獨立的部門,其完全依照財務(wù)規(guī)章制度運行,一般而言,其運營主要有IT部門的支持即可;同時,由于不是所有金融機(jī)構(gòu)都需要消費貸系統(tǒng)提供核算功能,這就需要盡量保證其獨立性,因此,賬務(wù)核算層,只需要依賴技術(shù)支撐層。決策分析主要是針對數(shù)據(jù)的統(tǒng)計分析,因此,其僅僅依賴與技術(shù)支撐層,而對于其它功能層次,也均不直接依賴于決策分析層。系統(tǒng)技術(shù)架構(gòu)子系統(tǒng)劃分消費貸系統(tǒng)按功能職責(zé)劃分成四個子系統(tǒng)——消費貸款管理系統(tǒng)、消費貸款合作方系統(tǒng)、消費貸款核算系統(tǒng)、消費貸輔助系統(tǒng),如下圖所示:圖3-6消費貸款管理子系統(tǒng)消費貸款管理子系統(tǒng),主要面向金融機(jī)構(gòu)內(nèi)部的客戶經(jīng)理以及相關(guān)管理人員,負(fù)責(zé)完成消費貸款進(jìn)件流程與業(yè)務(wù)管理。其中包含了邏輯架構(gòu)中的業(yè)務(wù)操作層、業(yè)務(wù)管理層、業(yè)務(wù)工具層中的絕大部分功能(注:不含操作層中的合作方功能),例如,貸款申請、人工審批、合同管理、放款等等。消費貸款管理子系統(tǒng)是整個系統(tǒng)業(yè)務(wù)運營的核心系統(tǒng)。消費貸款合作方子系統(tǒng)消費貸款合作方子系統(tǒng),主要面向金融機(jī)構(gòu)之外的合作機(jī)構(gòu),如賣場、4S店、培訓(xùn)機(jī)構(gòu)等等,其負(fù)責(zé)為合作方與金融機(jī)構(gòu)之間建立渠道與門戶。其主要功能是進(jìn)件處理與審批狀態(tài)查詢。之所以將合作方獨立成子系統(tǒng),首先,是出于金融機(jī)構(gòu)與合作方之間合作方式存在不確因素的考慮,例如,現(xiàn)在是對賣廠、對4S店,但今后可能會對網(wǎng)店、對PAD、對外包公司等等,因此將合作方的功能獨立出核心業(yè)務(wù)系統(tǒng),作為系統(tǒng)對外擴(kuò)展的網(wǎng)關(guān),會有利于消費貸的不斷發(fā)展;其次,是出于安全方面考慮,由于需要直接面對互聯(lián)網(wǎng),所以必須將對外的功能獨立部署,屏蔽任務(wù)從互聯(lián)網(wǎng)上直接訪問至核心業(yè)務(wù)系統(tǒng)的渠道。消費貸款核算子系統(tǒng)消費貸款核算子系統(tǒng),主要面向金融機(jī)內(nèi)部的賬務(wù)人員,負(fù)責(zé)完成所有與貸款相關(guān)的賬務(wù)處理,如貸款發(fā)放、還款扣款、罰息減免等等,其與邏輯架構(gòu)中的賬務(wù)核算層相對應(yīng)。獨立的核算子系統(tǒng),有利于增強系統(tǒng)的適應(yīng)能力。消費貸款輔助子系統(tǒng)消費貸款輔助子系統(tǒng),主要負(fù)責(zé)完成數(shù)據(jù)加工與分析、定時任務(wù)調(diào)度、報表生成與展示、歷史數(shù)據(jù)查詢等后臺任務(wù)。之所以劃分出輔助子系統(tǒng),主要是出于對系統(tǒng)性能的考慮,通過獨立部署的子系統(tǒng)來完成后臺任務(wù),避免后臺任務(wù)對日間業(yè)務(wù)運行效率產(chǎn)生不良影響。子系統(tǒng)間依賴關(guān)系消費貸款四子系統(tǒng)之間的依賴關(guān)系如下圖所示:圖3-7合作方子系統(tǒng)的運作必須依賴與管理子系統(tǒng)的支持,合作方子系統(tǒng)負(fù)責(zé)對外渠道,其獨立運行沒有任何意義,需要通過管理子系統(tǒng)來完成對每筆進(jìn)單的業(yè)務(wù)處理。管理子系統(tǒng)的運作,需要有核算系統(tǒng)的配合,核算系統(tǒng)可以是消費貸系統(tǒng)內(nèi)嵌的核算子系統(tǒng),也可以是機(jī)構(gòu)內(nèi)的核心業(yè)務(wù)系統(tǒng)。管理子系統(tǒng)通過核算子系統(tǒng)完成所有貸款賬務(wù)相關(guān)的業(yè)務(wù)操作。輔助子系統(tǒng)的運行,需要依賴管理子系統(tǒng)、核算子系統(tǒng)的正常運行,輔助子系統(tǒng)用作消費貸系統(tǒng)的后臺處理單元,其獨立運行沒有任何意義,需求通過調(diào)用管理子系統(tǒng)與核算子系統(tǒng)中的業(yè)務(wù)功能來實現(xiàn)自身功能。技術(shù)選型消費貸系統(tǒng)是基于JaveEE的WEB應(yīng)用,其后臺技術(shù)框架采用公司EMP實現(xiàn),前臺業(yè)務(wù)展現(xiàn)框架基于Jquery+EasyUi實現(xiàn),具體如下圖所示:圖3-8消費貸系統(tǒng)基礎(chǔ)支撐環(huán)境為JavaEE以及在此之上的WEB容器中間件(如WAS、Weblogic等等),對Java虛擬機(jī)版本要求為1.5或1.6,對WAS版本要求為6.1以上(含),對Weblogic版本要求為10g以上(含)。技術(shù)基礎(chǔ)框架采用公司產(chǎn)品EMP2.2,流程引擎選用公司產(chǎn)品eChain2.2,規(guī)則引擎shuffle1.0;業(yè)務(wù)處理邏輯實現(xiàn),采用組件注入機(jī)制與POJO為業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)方式;業(yè)務(wù)展現(xiàn)邏輯基于Jquery實現(xiàn),頁面部件基于EasyUI實現(xiàn),并用JspTag包裝,前后臺通訊有使用Ajax方式。業(yè)務(wù)邏輯處理沒有選用EMP提供的標(biāo)準(zhǔn)開發(fā)方式實現(xiàn)(邏輯流+KCOL),而是選擇了組件+Pojo方式實現(xiàn),由其是在數(shù)據(jù)結(jié)構(gòu)上不再使用EMP的KCOL,而是選擇傳統(tǒng)的Pojo方式。這是因為,希望通過功能組件+Pojo方式來實現(xiàn)面向?qū)ο笤O(shè)計思路,不再去走面向過程+快捷開發(fā)的老路。這是因為消費貸系統(tǒng)是業(yè)務(wù)操作類系統(tǒng),其中的業(yè)務(wù)運行模式、信息結(jié)構(gòu)都是具有積累價值的,所以可以用面向?qū)ο蟮脑O(shè)計思路,將業(yè)務(wù)模式轉(zhuǎn)換成技術(shù)框架,將業(yè)務(wù)功能包裝成一個個組件,將業(yè)務(wù)要素信息映射成數(shù)據(jù)對象,最終,達(dá)到提升系統(tǒng)可復(fù)用性與產(chǎn)品形態(tài)的目地。技術(shù)架構(gòu)分層消費貸系統(tǒng)技術(shù)架構(gòu)上劃分為四個層次——業(yè)務(wù)展現(xiàn)層、服務(wù)提供層、業(yè)務(wù)組件層、持久層。技術(shù)架構(gòu)層次劃分如下圖所示:圖3-9業(yè)務(wù)展現(xiàn)層業(yè)務(wù)展現(xiàn)層負(fù)責(zé)消費貸系統(tǒng)與用戶之間的交互接口,在這一層中的業(yè)務(wù)邏輯處理統(tǒng)一由JS負(fù)責(zé)實現(xiàn),不會出現(xiàn)其它形式業(yè)務(wù)邏輯處理(如,JAVA代碼)。無論在邏輯處理時,還是加載后臺數(shù)據(jù)時,還是向后臺發(fā)送請求時,其數(shù)據(jù)結(jié)構(gòu)統(tǒng)一使用JSON格式。服務(wù)提供層服務(wù)提供層負(fù)責(zé)將系統(tǒng)內(nèi)的功能組裝成獨立事務(wù)的原子服務(wù),并以此為單位響應(yīng)來至展現(xiàn)層(或來至其它渠道,如SOCKET、WEBSERVICE)的服務(wù)請求。這里提到的服務(wù),并不是指通常概念中的服務(wù),其主要是指系統(tǒng)內(nèi)部暴露給其用戶的功能,當(dāng)然,完全可以將其中的一部分功能,通過各種渠道發(fā)布給其它系統(tǒng)使用,此時其才是真正意義上的服務(wù),這里只是借用并擴(kuò)展了服務(wù)這個概念,將系統(tǒng)提供給用戶的功能也認(rèn)為是一種服務(wù),確切地說是細(xì)粒度的原子服務(wù)。在服務(wù)提供層中,通過對組合對業(yè)務(wù)組件層中組件的調(diào)用來實現(xiàn)服務(wù)功能,服務(wù)層中的每個服務(wù)對應(yīng)著一個業(yè)務(wù)操作,其名稱都應(yīng)該是一個動詞,表示一個業(yè)務(wù)過程的業(yè)務(wù)操作(如,發(fā)起申請、合同簽訂等等)。同時,在本層中還負(fù)責(zé)將從展現(xiàn)層(或渠道)過來的EMPKCOL格式的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成POJO格式的數(shù)據(jù)。業(yè)務(wù)組件層業(yè)務(wù)組件層負(fù)責(zé)對業(yè)務(wù)功能進(jìn)行劃分、封裝與實現(xiàn),組件層為服務(wù)層提供功能實現(xiàn)層面的支撐。其中以組件為單位對業(yè)務(wù)功能進(jìn)行組織,每個組件有著明確的業(yè)務(wù)含意,其在概念上與參與業(yè)務(wù)過程的業(yè)務(wù)實體基本一致,每個組件的名稱都是一個業(yè)務(wù)名詞,表示一個業(yè)務(wù)過程中的業(yè)務(wù)實體(如,客戶、合同、耐用消費品貸款產(chǎn)品等等)。在本層中的各個業(yè)務(wù)組件內(nèi),一律使用POJO為業(yè)務(wù)邏輯處理時的數(shù)據(jù)結(jié)構(gòu)。持久層持久層負(fù)責(zé)實現(xiàn)消費貸系統(tǒng)對數(shù)據(jù)庫的訪問與操作。在持久層中一律使用POJO為數(shù)據(jù)邏輯處理時的數(shù)據(jù)結(jié)構(gòu)。各層間關(guān)系四個層次之間類的關(guān)系如下圖所示:圖3-10展示現(xiàn)層通過HTTP請求方式調(diào)用后臺服務(wù)層提供的服務(wù),此時請求報文為標(biāo)準(zhǔn)的HTTP報文格式,且報文中的內(nèi)容也是標(biāo)準(zhǔn)的FORM格式(示例:Key1=Val1&Key2=Val2&…),后臺服務(wù)層返回至界面的數(shù)據(jù)內(nèi)容則為直接為JSON格式。后臺服務(wù)通過EMPRequestServlet接收請求(此處省略了對EMP框架內(nèi)部處理描述),接收后通過抽像類CMISOperation來調(diào)用對應(yīng)的具體服務(wù)實現(xiàn)功能OP;在OP中將KCOL通過特定方法轉(zhuǎn)成Domain類(POJO格式),然后根據(jù)業(yè)務(wù)邏輯處理的需要來調(diào)用具體的組件類;在組件類中將不再使用KCOL格式的數(shù)據(jù)來處理業(yè)務(wù)邏輯,在組件類中直接調(diào)用持久層CMISDao中公共類SqlClient,完成系統(tǒng)內(nèi)最基礎(chǔ)的數(shù)據(jù)操作;在持久層中也將不再處理KCOL格式的數(shù)據(jù),而直接使用Domain格式數(shù)據(jù)來操作數(shù)據(jù)庫。關(guān)鍵技術(shù)點數(shù)據(jù)庫訪問在數(shù)據(jù)庫訪問層面,我們總結(jié)了在項目開發(fā)過程中使用基礎(chǔ)框架遇到的問題,并考慮客戶一些建議,對EMP中的數(shù)據(jù)訪問層進(jìn)行了設(shè)計重構(gòu)。首先,存在的問題我們歸納為下表:序號問題描述1不支持復(fù)雜的自定義SQL的執(zhí)行,二次開發(fā)人員只得另行編寫數(shù)據(jù)訪問層,最終導(dǎo)致系統(tǒng)數(shù)據(jù)訪問接口不統(tǒng)一、混亂,不利于問題排查和日后維護(hù)。2不支持使用普通的業(yè)務(wù)實體對象進(jìn)行數(shù)據(jù)傳輸:EMP中的TableModelDao只支持KeyedCollection和IndexedCollection這樣動態(tài)存儲結(jié)構(gòu)的數(shù)據(jù)傳輸,雖然靈活,但是數(shù)據(jù)存取不明確,一旦有問題,不利于排查。3不支持批量執(zhí)行SQL,導(dǎo)致項目開發(fā)人員在開發(fā)過程中編寫了大量循環(huán)操作數(shù)據(jù)庫的代碼,對系統(tǒng)性能影響較大。4依賴配置文件實現(xiàn)ORM映射關(guān)系,這樣導(dǎo)致系統(tǒng)配置文件過多,使系統(tǒng)文件的維護(hù)過于繁瑣;另外,一個ORM配置文件對應(yīng)一個表的僵化映射關(guān)系,對多表關(guān)聯(lián)查詢的SQL支持乏力;另外通過配置文件進(jìn)行映射必定要用到JAVA的反射機(jī)制,這也是性能消耗的地方。5開發(fā)人員在JAVA代碼中編寫大量SQL并根據(jù)前端傳入?yún)?shù)拼寫WHERE子句的條件串,容易留下SQL注入攻擊漏洞,為排查和修復(fù)這些漏洞以及應(yīng)付甲方的安全掃描需要花費不少工作量;另外,甲方希望SQL和JAVA代碼嚴(yán)格分離?;谝陨蠁栴},新的數(shù)據(jù)訪問層提供了以下解決方案和API支持:動態(tài)ORM映射方案該方案是基于業(yè)務(wù)實體對象的一種動態(tài)ORM映射方案,該方案的關(guān)鍵在于業(yè)務(wù)實體對象的內(nèi)部結(jié)構(gòu),我們在業(yè)務(wù)實體對象內(nèi)置了一個MAP用來存儲業(yè)務(wù)實體對象的屬性值,而對外使用時,依然通過業(yè)務(wù)實體對象的get和set方法進(jìn)行存取,這樣既保證了上層調(diào)用時的明確性,同時內(nèi)置的MAP結(jié)構(gòu)為多表關(guān)聯(lián)查詢和動態(tài)映射提供了很好的支持,保留了KeyedCollection結(jié)構(gòu)的靈活性。另外無需再考慮數(shù)據(jù)庫表字段和業(yè)務(wù)實體對象屬性名稱的不一致性,這種映射關(guān)系動態(tài)靈活,方便開發(fā)人員維護(hù),也避免了反射的使用。具體的業(yè)務(wù)實體對象的結(jié)構(gòu)可參考下列代碼:不足的是以后的業(yè)務(wù)實體對象需要實現(xiàn)CMISDomain接口中的方法,不是純粹的POJO。SQL的可配置方案該方案強制要求把SQL從JAVA邏輯中剝離出來,類似iBatis在相應(yīng)的XML文件中進(jìn)行配置,然后程序根據(jù)配置的ID動態(tài)裝載SQL,并用“?”替換配置的SQL串中的變量,最后交給JDBC的PreparedStatement對象執(zhí)行。具體的SQL配置文件格式可參考如下文件:通過這種強制性方案,開發(fā)人員失去了編寫帶有SQL注入攻擊漏洞代碼的機(jī)會,對這類問題進(jìn)行了提前預(yù)防;同時SQL的外置可配置,使業(yè)務(wù)實體對象在進(jìn)行動態(tài)ORM映射時,不需要指明其對應(yīng)的物理表名和主鍵字段名等信息,這樣兩個方案結(jié)合在一起,對復(fù)雜的多表關(guān)聯(lián)查詢和動態(tài)映射進(jìn)行了很好的支持,同時也支持了在系統(tǒng)邏輯層中通過業(yè)務(wù)實體對象進(jìn)行數(shù)據(jù)傳輸這一需求。此外,對于SQL配置過程遇到的一些特殊問題,我們也提供了較好的解決辦法:一是動態(tài)SQL的問題,一些SQL條件是根據(jù)運行時期的值動態(tài)決定是否要拼入整體SQL中,對于該問題的解決辦法是,把相應(yīng)的SQL條件逐一配置在配置文件中,并用相應(yīng)的條件ID標(biāo)識區(qū)分,然后由開發(fā)人員在程序中根據(jù)客戶端傳入?yún)?shù)值決定要把哪些條件ID傳到數(shù)據(jù)庫訪問層,數(shù)據(jù)訪問層的核心類根據(jù)這些條件ID動態(tài)去追加這SQL條件;問題二對于IN子句的支持,開發(fā)人員可以在IN子句的括號中指定對應(yīng)的變量名,并指明該變量的類型,其類型可以是數(shù)組、LIST集合對象以及逗號間隔的String,然后數(shù)據(jù)庫訪問層核心類會拆分和計算出IN值的個數(shù),并用對應(yīng)個數(shù)的”?”替換配置的屬性變量名。最后,沒有直接使用iBatis原因是iBatis的SQL配置方式和配置語句相對復(fù)雜,且相應(yīng)的輔助JAVA類過于冗長繁瑣,和數(shù)據(jù)庫訪問層整體解決方案的契合度不高。支持SQL的批量執(zhí)行前述兩個方案結(jié)合在一起,解決了問題3以為的四個問題,對于問題3中提到SQL批量執(zhí)行,新的數(shù)據(jù)庫訪問層CMISDAO中的核心類com.yucheng.cmis.pub.dao.SqlClient提供了相應(yīng)的API支持,主要是采用JDBC的PreparedStatement對象的批處理功能來實現(xiàn)另外,考慮到兼容性,對于之前的數(shù)據(jù)類型KeyedCollection和IndexedCollection,新的CMISDAO依然提供部分支持;對于之前的TableModelDAO的優(yōu)點,新的CMISDAO依然繼承和發(fā)揚,例如對單表的面向?qū)ο蠓绞降拇嫒≡L問接口依然提供,只是內(nèi)部實現(xiàn)方式有所改變。CMISDAO本身在小數(shù)據(jù)量時(千條之內(nèi)),對系統(tǒng)性能無明顯影響,能將Domain至數(shù)據(jù)庫之間的來回映射的性能消耗降至最低,另外,由于JVM堆容量的限制,建議在批量數(shù)據(jù)處理時要謹(jǐn)用。數(shù)據(jù)緩存CMISCache用于信貸系統(tǒng)運行時緩存常用的業(yè)務(wù)數(shù)據(jù)、過程數(shù)據(jù)與配置數(shù)據(jù),以緩解系統(tǒng)在面對復(fù)雜業(yè)務(wù)需求時的對數(shù)據(jù)庫的壓力。緩存機(jī)制在信貸系統(tǒng)中已經(jīng)比較常用,例如,數(shù)據(jù)字典、組織機(jī)構(gòu)信息等。實際上緩存還可以廣泛用于對數(shù)據(jù)一致性要求不高,但對數(shù)據(jù)庫性能消耗高,或用SQL難以實現(xiàn)的復(fù)雜的業(yè)務(wù)場景,例如即時消息提醒、數(shù)據(jù)即時統(tǒng)計、數(shù)據(jù)呈現(xiàn)的修飾與深加工等等。CMISCache現(xiàn)階段主要解決對業(yè)務(wù)數(shù)據(jù)緩存使用的規(guī)范統(tǒng)一問題,集群成員之間緩存同步問題,并提升緩存檢索性能,加強使用安全性。將來考慮實現(xiàn)分布式+分級式的緩存機(jī)制,平衡時間與空間之間的矛盾,進(jìn)一步讓緩存能提升系統(tǒng)性能,并考慮使用類似XPATH語法模式對緩存檢索,讓緩存機(jī)制能替代部分SQL實現(xiàn)功能,能為復(fù)雜業(yè)務(wù)的實現(xiàn)提供更多支持。數(shù)據(jù)權(quán)限控制數(shù)據(jù)記錄級權(quán)限為菜單級權(quán)限的補充,用于更細(xì)粒度地控制用戶對每條記錄各類操作權(quán)限,不一樣的是在菜單級權(quán)限中的動作完全由用戶自行定義,而對于記錄級權(quán)限則僅分為三類動作——查詢、修改、刪除,其分別對應(yīng)查詢權(quán)限、修改權(quán)限、刪除權(quán)限。查詢權(quán)限,用于控制數(shù)據(jù)記錄對當(dāng)前操作者對的可見性,其作用于展示列表之時。當(dāng)某數(shù)據(jù)無權(quán)被當(dāng)前用戶看見時,在該用戶訪問其所在列表時,系統(tǒng)將自動過濾掉無權(quán)限的數(shù)據(jù)。注:系統(tǒng)現(xiàn)只在訪問列表時進(jìn)行查詢權(quán)限,對于單筆數(shù)據(jù)的查看權(quán)限,則僅僅使用界面菜單權(quán)限進(jìn)行控制。修改權(quán)限,用于控制當(dāng)前操作者對數(shù)據(jù)記錄的修改權(quán),其作用于用戶進(jìn)入‘修改’界面之時,以及在發(fā)起修改請求之時。當(dāng)某條數(shù)據(jù)記錄無權(quán)被當(dāng)前用戶修改時,系統(tǒng)將在進(jìn)入修改界面、發(fā)起修改請求兩個時刻進(jìn)行攔截。刪除權(quán)限,用于控制當(dāng)前操作者對數(shù)據(jù)記錄的刪除權(quán),其作用于用戶發(fā)起刪除之時。當(dāng)某條數(shù)據(jù)記錄無權(quán)被當(dāng)前用戶刪除時,系統(tǒng)將在發(fā)起刪除請求時進(jìn)行攔截。數(shù)據(jù)記錄級權(quán)限所保護(hù)的資源范圍是在表模型中所配置的表,其控制的依據(jù)取決于表中的權(quán)限歸屬描述字段(用于描述被約束的對象)中的值與當(dāng)前登錄者相關(guān)信息(如工號、機(jī)構(gòu)碼等等)的匹配程度,約束的對象是信貸系統(tǒng)中的用戶。在信貸系統(tǒng)中有三類常見的約束對象——本人、本機(jī)構(gòu)、本機(jī)構(gòu)及下級機(jī)構(gòu),其與記錄級權(quán)限一共有七種,如下圖所示:圖3-12注:在流程審批過程中的對數(shù)據(jù)記錄的權(quán)限控制移交給流程引擎負(fù)責(zé),操作查看。在上圖中描述了記錄級權(quán)限控制的層次劃分,及針對每一張表有三類權(quán)限(查詢、修改與刪除),針對每一類權(quán)限又按約束對象細(xì)分為若干個具體的權(quán)限控制點。由于在信貸系統(tǒng)中,被約束對象基本上是確定的,而用于描述這些對象的權(quán)限歸屬字段的字段名基本一至,因此可以考慮針將常用權(quán)限控制點制作成標(biāo)準(zhǔn)記錄級權(quán)限控制模板,用于覆蓋絕大部份的權(quán)限需求,對于少數(shù)特殊的需求,可以參照現(xiàn)有的權(quán)限控制模板進(jìn)行擴(kuò)展即可?,F(xiàn)對每個權(quán)限類型下的最有可能出現(xiàn)的約束對象提供標(biāo)準(zhǔn)記錄級權(quán)限控制模板,一共提供以下七個:由查詢本人記錄權(quán)限模板,控制僅能查詢屬于本人的數(shù)據(jù)由查詢本機(jī)構(gòu)記錄權(quán)限模板,控制僅能查詢屬于本機(jī)構(gòu)的數(shù)據(jù)由查詢本機(jī)構(gòu)及下級機(jī)構(gòu)記錄權(quán)限模板,控制僅能查詢屬于本機(jī)構(gòu)及下級機(jī)構(gòu)的數(shù)據(jù)由修改本人記錄權(quán)限模板,控制僅能修改屬于本人的數(shù)據(jù)由修改本機(jī)構(gòu)記錄權(quán)限模板,控制僅能修改屬于本機(jī)構(gòu)的數(shù)據(jù)由刪除本人記錄權(quán)限模板,控制僅能刪除屬于本人的數(shù)據(jù)由刪除本機(jī)構(gòu)記錄權(quán)限模板,控制僅能刪除屬于本機(jī)構(gòu)的數(shù)據(jù)為保證模板是可替換的,應(yīng)該按表模型+操作類型+崗位來配置具體哪張表在作什么類型操作時應(yīng)該如何控制當(dāng)前用戶的權(quán)限。模板使用的大體步驟如下:在執(zhí)行某操作之前,根據(jù)當(dāng)前操作的表模型、操作類型(是屬于查詢、修改還是刪除),以及當(dāng)前用戶的崗位調(diào)用對應(yīng)的模板(注:崗位在配置中為可選項,如果沒有配模板對應(yīng)崗位,則該模板適用于所有人),用以檢查當(dāng)前的操作者是否有權(quán)限操作當(dāng)前數(shù)據(jù),對于權(quán)限檢查不通過的,則直接返回?zé)o權(quán)操作的提示界面,截斷用戶的操作請求。業(yè)務(wù)導(dǎo)航為提高用戶在系統(tǒng)中的工作效率,首先需要有良好的UI設(shè)計,通過良好的UI設(shè)計可以實現(xiàn)消息驅(qū)動+流程驅(qū)動的操作模式。可以考慮將整個業(yè)務(wù)辦理過程,按實際業(yè)務(wù)拆解成若干個步驟,每個步驟是功能明確,并且相對其他步驟獨立的,而讓客戶每筆發(fā)生的業(yè)務(wù)都按步驟一步步執(zhí)行,從而將整個業(yè)務(wù)辦理步驟,行成業(yè)務(wù)操作向?qū)?,通過業(yè)務(wù)向?qū)е甘緦崿F(xiàn)在操作層面,將業(yè)務(wù)功能組織更條理且簡單明確;消費貸系統(tǒng)中,將通過業(yè)務(wù)導(dǎo)航與流程引擎的配合,來完成業(yè)務(wù)操作,示意圖如下所示:圖3-11在圖3-11中,通過導(dǎo)航將業(yè)務(wù)辦理過程中的復(fù)雜業(yè)務(wù)操作劃成若干個單簡的場景,并用導(dǎo)航串聯(lián)一起,使其業(yè)務(wù)操作過程更明確與規(guī)范,從而達(dá)到提升效率的目地;通過流程引擎將整個業(yè)務(wù)各個環(huán)節(jié)聯(lián)接起來,實現(xiàn)業(yè)務(wù)流程的流轉(zhuǎn)。JQuery與EasyUIjQueryEasyUI是一組基于jQuery的UI插件集合,而jQueryEasyUI的目標(biāo)就是幫助web開發(fā)者更輕松的打造出功能豐富并且美觀的UI界面。開發(fā)者不需要編寫復(fù)雜的javascript,也不需要對css樣式有深入的了解,開發(fā)者需要了解的只有一些簡單的html標(biāo)簽。jQueryEasyUI為我們提供了大多數(shù)UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。jQueryEasyUI是基于JQuery的一個前臺ui界面的插件,功能相對沒extjs強大,但頁面也是相當(dāng)好看的。一些功能也足夠開發(fā)者使用,相對于extjs更輕量。jQueryEasyUI有以下特點:1、基于jquery用戶界面插件的集合2、為一些當(dāng)前用于交互的js應(yīng)用提供必要的功能3、使用EasyUI你不需要寫很多的javascript代碼,通常只需要寫HTML標(biāo)記來定義用戶界面即可4、支持HTML55、開發(fā)產(chǎn)品時可節(jié)省時間和資源6、簡單,但很強大(注:本小節(jié)中對jquery與easyui的描述引用至‘百度百科’)流程引擎消費貸系統(tǒng)整個業(yè)務(wù)流轉(zhuǎn)基于公司echain實現(xiàn)。規(guī)則引擎消費貸系統(tǒng)整個業(yè)務(wù)過程的規(guī)則基于公司shuffle實現(xiàn)。功能設(shè)計功能模塊劃分基于以上從業(yè)務(wù)與技術(shù)兩方面對消費貸系統(tǒng)的分析,可以初步明確系統(tǒng)功能模塊如何劃分,通過對模塊的劃分明確系統(tǒng)中各個功能職責(zé)的組織方式,如下圖所示:圖4-1其中業(yè)務(wù)功能的一級包結(jié)構(gòu)與邏輯結(jié)構(gòu)一一對應(yīng),一共分為產(chǎn)品線、管理、合作方、決策分析、工具、賬務(wù)核算六個包(注:這里不包含技術(shù)實現(xiàn)部分)。各個包之間的依賴關(guān)系圖如下:圖4-2在產(chǎn)品線包(productline)中,用于放置業(yè)務(wù)操作與呈現(xiàn)相關(guān)功能,以產(chǎn)品別劃分二級包,例如對耐用消費品貸款、電子消費品貸款等等。其中每個二級包內(nèi),以獨立產(chǎn)品為單位形成組件類,即一個產(chǎn)品一個類,如果有兩個十分相似的產(chǎn)品,則以繼承的方式實現(xiàn)第二個類。產(chǎn)品線包為頂級包不為其它包提供支撐。在管理包(manager)中,用于放置業(yè)務(wù)管理相關(guān)功能,以業(yè)務(wù)實體二級包,例如客戶、合同、產(chǎn)品等等。其中每個二級包內(nèi),依據(jù)功能職責(zé)劃分若干個組件類。管理包為產(chǎn)品線包、合作方包提供支撐。在合作方包(partner)中,用于放置消費貸業(yè)務(wù)涉及的第三方進(jìn)件渠道相關(guān)功能,例如,賣場經(jīng)銷商、4S店等等。其為產(chǎn)品線包提供支撐。合作方包將以子系統(tǒng)的形態(tài)與主應(yīng)用工程分離部署,在主應(yīng)用工程中僅保留其接口。在決策分析包(analysis)中,用于放置業(yè)務(wù)運作數(shù)據(jù)的統(tǒng)計分析相關(guān)功能。決策包為頂級包不為其它包提供支撐,同時其本身也不依賴與其它業(yè)務(wù)功能包。在工具包(tools)中,用于放置業(yè)務(wù)專業(yè)工具相關(guān)功能,例如,信用評級、風(fēng)險指標(biāo)庫、額度測算等等。其為管理包、產(chǎn)品線包提供支撐,其本身不依賴與其它業(yè)務(wù)功能包。在賬務(wù)核算包(accounting)中,用于放置貸款核算相關(guān)功能,例如,貸款發(fā)放、還款扣款。其為管理包提供支撐,其本身不依賴與其它業(yè)務(wù)功能包。賬務(wù)核算包將以子系統(tǒng)的形態(tài)與主應(yīng)用工程分離部署,在主應(yīng)用工程中僅保留其接口。功能結(jié)構(gòu)設(shè)計通過對消費貸系統(tǒng)主要功能模塊的劃分,基本明確了系統(tǒng)中最粗粒度的功能組織單位,在本節(jié)中將采用類圖的方式,進(jìn)一步細(xì)化各功能之間的結(jié)構(gòu)關(guān)系,如下圖所示:圖4-3在圖4-3中,描繪了消費貸系統(tǒng)中大多數(shù)業(yè)務(wù)類以及各個類之間的關(guān)系。從圖中可以很容易地發(fā)現(xiàn),處于整個系統(tǒng)中心的是‘消費貸產(chǎn)品線’這個抽象類。其負(fù)責(zé)實現(xiàn)業(yè)務(wù)申請至還款整個業(yè)務(wù)流程中所有與業(yè)務(wù)操作相關(guān)的功能,如申請、電核、審批等等。圍繞它的類的關(guān)系可以分三種:實現(xiàn)關(guān)系(如,耐用消費品貸款、電子消費品貸款等)、聚合關(guān)系(如,申請、客戶、合同等)、引用關(guān)系(如,信用評級、風(fēng)險指標(biāo)庫等)。實現(xiàn)關(guān)系:耐用消費品貸款類、電子消費品貸款類均是消費貸產(chǎn)品線抽象類的具體實現(xiàn),用于對消費貸產(chǎn)品的基本功能進(jìn)行擴(kuò)展。聚合關(guān)系:申請、客戶、合同、產(chǎn)品類均是消費貸款產(chǎn)品的構(gòu)成關(guān)鍵要素,是其中的一部分,因此它們之間是聚合關(guān)系。引用關(guān)系:信用評級、風(fēng)險指標(biāo)庫類均屬于在消費貸款產(chǎn)品運過程中需要使用的工具類,因此它們之間是引用關(guān)系。消費貸產(chǎn)品線類負(fù)責(zé)所有業(yè)務(wù)操作層面功能的實現(xiàn),之所以要采用要采產(chǎn)品線作為中心來組織功能,這是因為不同的產(chǎn)品會有不同的運作方式(如,有的產(chǎn)品需要走授信,有的不需要;有的進(jìn)件渠道是來自合作方,有的來自機(jī)構(gòu)內(nèi);有的需要進(jìn)行電核,有的不需要;有的產(chǎn)品是自動人工放款,有的是自動放款;),同時,對于金融機(jī)構(gòu)而言,產(chǎn)品是其組織開展業(yè)務(wù)的基本單元;對于客戶而言,產(chǎn)品也是享受金融服務(wù)的基本單元;對于金融行業(yè)而言,產(chǎn)品更是彼此間競爭的基本單元。因此,以產(chǎn)品為中心來組織業(yè)務(wù)功能,在概念上實現(xiàn)了業(yè)務(wù)與技術(shù)的統(tǒng)一。在技術(shù)實現(xiàn)層面上,通過產(chǎn)品線類來統(tǒng)一封裝業(yè)務(wù)操作層的功能,屏蔽后臺的具體的技術(shù)實現(xiàn)細(xì)節(jié)與實現(xiàn)方式,同時也屏蔽來自管理層的具體業(yè)務(wù)規(guī)則,讓其專注完成產(chǎn)品基本的公共的業(yè)務(wù)操作功能,如接收進(jìn)件、發(fā)起申請、提交電核、合同簽訂等等。對于有新的消費類貸款產(chǎn)品,可以通過直接新實現(xiàn)該抽象類來完成新功能,也可以繼承已有的產(chǎn)品類來實現(xiàn)新功能(當(dāng)產(chǎn)品間差異較小時)。產(chǎn)品線類相當(dāng)于一個模板(或

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論