5_基于MVC設(shè)計(jì)模式的銀行應(yīng)用系統(tǒng).doc_第1頁(yè)
5_基于MVC設(shè)計(jì)模式的銀行應(yīng)用系統(tǒng).doc_第2頁(yè)
5_基于MVC設(shè)計(jì)模式的銀行應(yīng)用系統(tǒng).doc_第3頁(yè)
5_基于MVC設(shè)計(jì)模式的銀行應(yīng)用系統(tǒng).doc_第4頁(yè)
5_基于MVC設(shè)計(jì)模式的銀行應(yīng)用系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章 引言 1.1銀行核心系統(tǒng)的現(xiàn)狀隨著Internet和電子商務(wù)的迅速發(fā)展,當(dāng)今金融企業(yè)傳統(tǒng)的經(jīng)營(yíng)模式正面臨巨大的挑戰(zhàn)。金融產(chǎn)品和服務(wù)渠道的多樣化,已經(jīng)成為金融企業(yè)核心競(jìng)爭(zhēng)力的所在,成為各企業(yè)間競(jìng)相比拼的內(nèi)容。傳統(tǒng)服務(wù)渠道邏輯分離的金融系統(tǒng)正在變得越來(lái)越過(guò)時(shí),這種模式的系統(tǒng)每種服務(wù)渠道都各有一套自己的數(shù)據(jù)格式、通訊方式和應(yīng)用邏輯,實(shí)現(xiàn)業(yè)務(wù)時(shí)的業(yè)務(wù)流程以及對(duì)銀行核心數(shù)據(jù)的訪問(wèn)都是由渠道自己負(fù)責(zé)的,對(duì)于銀行業(yè)來(lái)講,銀行柜面業(yè)務(wù)有柜面業(yè)務(wù)的服務(wù)渠道,網(wǎng)上銀行有網(wǎng)上銀行的服務(wù)渠道,網(wǎng)上銀行的數(shù)據(jù)格式、交易流程與柜面業(yè)務(wù)的處理毫無(wú)關(guān)系。凡此種種,在迅猛發(fā)展的電子商務(wù)新的競(jìng)爭(zhēng)環(huán)境下,構(gòu)架新一代銀行的應(yīng)用服務(wù)平臺(tái)實(shí)為大勢(shì)所趨。 1.2傳統(tǒng)系統(tǒng)存在的問(wèn)題 可復(fù)用能力低,可維護(hù)性差:集中表現(xiàn)在不支持多種服務(wù)形式(例如銀行的柜面業(yè)務(wù)、網(wǎng)上銀行、自助銀行、電話銀行等等)共享相同的業(yè)務(wù)邏輯。一般來(lái)講,金融企業(yè)的同一種業(yè)務(wù)往往具有多種服務(wù)形式,而且,這些服務(wù)形式所涉及到的業(yè)務(wù)邏輯是類似的。比如銀行業(yè)的同樣一筆轉(zhuǎn)賬業(yè)務(wù),在柜臺(tái)、網(wǎng)上銀行、ATM、或者電話銀行都能辦理,在這幾種轉(zhuǎn)賬的表現(xiàn)形式中,基本業(yè)務(wù)流程如查詢客戶資料、檢查密碼、檢查客戶余額、登記交易流水等是完全一樣的,但由于傳統(tǒng)的銀行系統(tǒng)中各種服務(wù)渠道邏輯上是分離的,以往的開(kāi)發(fā)不得不針對(duì)柜臺(tái)、網(wǎng)上銀行、ATM、電話銀行分別開(kāi)發(fā)各自的交易流程,而且不得不與各種不同的通訊方式打交道,帶來(lái)的不良后果就是系統(tǒng)的可復(fù)用能力低,可維護(hù)性差。(1)不能實(shí)現(xiàn)快速的新產(chǎn)品研發(fā)和推廣:傳統(tǒng)系統(tǒng)的升級(jí)和換代必將涉及到現(xiàn)有的各種服務(wù)渠道的改造,使得新產(chǎn)品研發(fā)和推廣周期較長(zhǎng)。(2)不能有效對(duì)客戶行為進(jìn)行分析:企業(yè)來(lái)說(shuō),有些客戶的行為能為企業(yè)帶來(lái)效益,有些卻不能。對(duì)客戶行為進(jìn)行分析以獲取客戶資源信息是非常重要的。但服務(wù)渠道的分離卻使的客戶行為數(shù)據(jù)存儲(chǔ)分散而且格式各異,傳統(tǒng)系統(tǒng)在全面采集客戶數(shù)據(jù)上顯得十分不便。(3)增加新服務(wù)渠道的成本急速上升:IBM的一項(xiàng)研究項(xiàng)目表明,渠道分離的商業(yè)系統(tǒng),隨著服務(wù)渠道的增加,系統(tǒng)需要的費(fèi)用急速上升,尤其在銀行業(yè),其特征十分明顯。1.3本項(xiàng)目的工作內(nèi)容解決以上問(wèn)題勢(shì)必需要對(duì)傳統(tǒng)的金融系統(tǒng)進(jìn)行改造。將金融系統(tǒng)的各種接入渠道視為不同的表現(xiàn)邏輯,將表現(xiàn)邏輯與核心的業(yè)務(wù)邏輯分開(kāi),提高系統(tǒng)的復(fù)用性是改造的重點(diǎn)。這就需要在表現(xiàn)邏輯和業(yè)務(wù)邏輯之間增加第二層,即應(yīng)用服務(wù)器層(Application Server),以實(shí)現(xiàn)表現(xiàn)邏輯和核心業(yè)務(wù)邏輯的隔離,并實(shí)現(xiàn)共享業(yè)務(wù)邏輯。以開(kāi)放標(biāo)準(zhǔn)的角度衡量,以SUN公司為代表的J2EE企業(yè)級(jí)應(yīng)用架構(gòu)成了必然的選擇。正是在這樣的背景下,開(kāi)始了對(duì)金融行業(yè)應(yīng)用服務(wù)器開(kāi)發(fā)框架的研究。整個(gè)系統(tǒng)的模型如圖所示:圖1.1 銀行核心應(yīng)用框圖整個(gè)系統(tǒng)構(gòu)架在應(yīng)用服務(wù)器之上,從功能上分為了表現(xiàn)邏輯和業(yè)務(wù)邏輯兩大層面。 從整體上看,整個(gè)系統(tǒng)由三個(gè)層次的模塊構(gòu)建而成。底層公用構(gòu)件庫(kù)提供了系統(tǒng)的底層支撐環(huán)境,工具箱提供了可視化的開(kāi)發(fā)、維護(hù)、發(fā)布等的集成環(huán)境,頂層的應(yīng)用服務(wù)為實(shí)際應(yīng)用系統(tǒng)的運(yùn)行提供了支撐。交易引擎:一套成熟的金融企業(yè)應(yīng)用系統(tǒng),其中許多交易具有相似或相同的處理模式及流程。這些相同或相似的處理模式可以被提取出來(lái)作為公共對(duì)象,以便在開(kāi)發(fā)新的相同或系統(tǒng)維護(hù)時(shí)重用。但是,不同的系統(tǒng)又各有特點(diǎn),因此又不可能找到一種一勞永逸的方法將所有交易都加以相同的實(shí)現(xiàn)。為了最大程度的方便應(yīng)用系統(tǒng)的開(kāi)發(fā),減輕開(kāi)發(fā)人員的工作量,同時(shí)又不喪失應(yīng)用系統(tǒng)應(yīng)有的靈活性,需要一種能兼顧兩方面要求的基本系統(tǒng),使得二次開(kāi)發(fā)人員可以在基本系統(tǒng)上進(jìn)行最小工作量的開(kāi)發(fā)。 為滿足上述要求,必須遵循兩個(gè)原則:第一,系統(tǒng)中必須有足夠的通用組件供二次開(kāi)發(fā)人員使用;第二,系統(tǒng)必須保證對(duì)特定交易實(shí)現(xiàn)的靈活性。平臺(tái)的最大特點(diǎn)是把業(yè)務(wù)邏輯處理部分獨(dú)立出來(lái),使之和具體的協(xié)議無(wú)關(guān),程序員幾乎可以把全部的注意力放在業(yè)務(wù)邏輯的實(shí)現(xiàn)上,同時(shí)降低了對(duì)程序員水平的要求,只要懂得基本的JAVA和SQL語(yǔ)言就以很好地并且規(guī)范地完成業(yè)務(wù)邏輯處理部分的工作。銀行接入引擎:它是實(shí)現(xiàn)接入渠道整合的重要功能部件,其基本功能是匯聚各式各樣的前端系統(tǒng),抽取這些系統(tǒng)中傳輸來(lái)的業(yè)務(wù)數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的格式變換,并將數(shù)據(jù)轉(zhuǎn)發(fā)給指定的處理單元。接入引擎隱藏了各種系統(tǒng)在表現(xiàn)邏輯上的差異,為實(shí)現(xiàn)商業(yè)核心業(yè)務(wù)邏輯與各種表現(xiàn)邏輯分離奠定了基礎(chǔ)。作為一個(gè)靈活的接入渠道整合平臺(tái),就在盡量不改變現(xiàn)有應(yīng)用程序應(yīng)用邏輯的條件下實(shí)現(xiàn)不同類型應(yīng)用系統(tǒng)的數(shù)據(jù)交換,不但完全滿足現(xiàn)有傳統(tǒng)業(yè)務(wù)的要求,也能適應(yīng)電子商務(wù)發(fā)展的要求。本文共分為五個(gè)章節(jié),本章從剖析傳統(tǒng)的銀行核心系統(tǒng)入手,分析了現(xiàn)有的系統(tǒng)對(duì)新應(yīng)用開(kāi)發(fā)的不足,簡(jiǎn)介了本文的現(xiàn)實(shí)意義;第二章“MVC開(kāi)發(fā)模式及J2EE框架”,簡(jiǎn)單介紹了J2EE企業(yè)應(yīng)用框架的規(guī)范及MVC開(kāi)發(fā)模式的基本思想;第三章“銀行核心業(yè)務(wù)系統(tǒng)的實(shí)現(xiàn)”,論述了N層次模型的銀行核心系統(tǒng)框架下每層的角色及功能,并簡(jiǎn)單介紹了整個(gè)項(xiàng)目的規(guī)劃,詳述了MVC模式的核心系統(tǒng)的實(shí)現(xiàn)方法;第四章“儲(chǔ)蓄業(yè)務(wù)系統(tǒng)”,以儲(chǔ)蓄業(yè)務(wù)系統(tǒng)為例,介紹了在以上的銀行核心系統(tǒng)框架下的具體應(yīng)用開(kāi)發(fā)的流程;最后一章“總結(jié)”將新舊系統(tǒng)進(jìn)行了對(duì)比,搜集了用戶的反饋意見(jiàn),對(duì)系統(tǒng)的不足之處進(jìn)行了分析,并對(duì)未來(lái)的工作進(jìn)行了展望,具體詳細(xì)內(nèi)容請(qǐng)閱相應(yīng)章節(jié)。第二章 MVC開(kāi)發(fā)模式及J2EE框架2.1 MVC開(kāi)發(fā)模式模型視圖控制器(Model-View-Controller)是XeroxPARC在八十年代為編程語(yǔ)言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模式,受到越來(lái)越多的開(kāi)發(fā)者的歡迎。模型視圖控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。2.1.1MVC如何工作MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。1、視圖視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash以及諸如XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Web services等。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。2、模型模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫(xiě)一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。3、控制器控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后用確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。現(xiàn)在總結(jié)一下MVC的處理過(guò)程,首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來(lái)處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層呈現(xiàn)給用戶。2.1.2為什么要使用 MVC大部分Web應(yīng)用程序都是用像ASP,PHP這樣的過(guò)程化語(yǔ)言來(lái)創(chuàng)建的。它們將像數(shù)據(jù)庫(kù)查詢語(yǔ)句這樣的數(shù)據(jù)層代碼和像HTML這樣的表示層代碼混在一起。經(jīng)驗(yàn)比較豐富的開(kāi)發(fā)者會(huì)將數(shù)據(jù)從表示層分離開(kāi)來(lái),但這通常不是很容易做到的,它需要精心的計(jì)劃和不斷的嘗試。MVC從根本上強(qiáng)制性的將它們分開(kāi)。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它帶來(lái)的好處是無(wú)庸質(zhì)疑的。首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型,現(xiàn)在需要用越來(lái)越多的方式來(lái)訪問(wèn)你的應(yīng)用程序。對(duì)此,其中一個(gè)解決之道是使用MVC,無(wú)論你的用戶想要Flash界面或是 WAP 界面;用一個(gè)模型就能處理它們。由于你已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開(kāi),所以你可以最大化的重用你的代碼了。由于模型返回的數(shù)據(jù)沒(méi)有進(jìn)行格式化,所以同樣的構(gòu)件能被不同界面使用。例如,很多數(shù)據(jù)可能用HTML來(lái)表示,但是它們也有可能要用Macromedia Flash和WAP來(lái)表示。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會(huì)話的購(gòu)物車和電子商務(wù)過(guò)程也能被Flash網(wǎng)站或者無(wú)線聯(lián)網(wǎng)的應(yīng)用程序所重用。因?yàn)槟P褪亲园?,并且與控制器和視圖相分離,所以很容易改變你的應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果你想把你的數(shù)據(jù)庫(kù)從MySQL移植到Oracle,或者改變你的基于RDBMS數(shù)據(jù)源到LDAP,只需改變你的模型即可。一旦你正確的實(shí)現(xiàn)了模型,不管你的數(shù)據(jù)來(lái)自數(shù)據(jù)庫(kù)或是LDAP服務(wù)器,視圖將會(huì)正確的顯示它們。由于運(yùn)用MVC的應(yīng)用程序的三個(gè)部件是相互對(duì)立,改變其中一個(gè)不會(huì)影響其它兩個(gè),所以依據(jù)這種設(shè)計(jì)思想你能構(gòu)造良好的松偶合的構(gòu)件。另外,控制器的也提供了一個(gè)好處,就是可以使用控制器來(lái)聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。2.1.3MVC的缺點(diǎn)MVC的缺點(diǎn)是由于它沒(méi)有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計(jì)劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費(fèi)一些時(shí)間去思考。需要花費(fèi)相當(dāng)可觀的時(shí)間去考慮如何將MVC運(yùn)用到應(yīng)用程序,由于模型和視圖要嚴(yán)格的分離,也給調(diào)試應(yīng)用程序到來(lái)了一定的困難。每個(gè)構(gòu)件在使用之前都需要經(jīng)過(guò)徹底的測(cè)試。一旦構(gòu)件經(jīng)過(guò)了測(cè)試,就可以毫無(wú)顧忌的重用它們了。由于將一個(gè)應(yīng)用程序分成了三個(gè)部件,所以使用MVC同時(shí)也意味著將要管理比以前更多的文件,這一點(diǎn)是顯而易見(jiàn)的。這樣好像工作量增加了,但是這比起它所能帶來(lái)的好處是不值一提。MVC并不適合小型甚至中等規(guī)模的應(yīng)用程序,花費(fèi)大量時(shí)間將MVC應(yīng)用到規(guī)模并不是很大的應(yīng)用程序通常會(huì)得不償失。2.2JAVA 2企業(yè)版應(yīng)用框架2.2.1J2EE的概念目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。 J2EE體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise Java Beans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。2.2.2J2EE的優(yōu)勢(shì)J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:保留現(xiàn)存的IT資產(chǎn): 由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤(pán)方案就變得很重要。這樣,一個(gè)以漸進(jìn)的(而不是激進(jìn)的,全盤(pán)否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。J2EE架構(gòu)可以充分利用用戶原有的投資。高效的開(kāi)發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí)間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù): 狀態(tài)管理服務(wù) - 讓開(kāi)發(fā)人員寫(xiě)更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開(kāi)發(fā)。 持續(xù)性服務(wù) - 讓開(kāi)發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫(xiě)應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開(kāi)發(fā)與維護(hù)。 分布式共享數(shù)據(jù)對(duì)象CACHE服務(wù) - 讓開(kāi)發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。 支持異構(gòu)環(huán)境: J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。 可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。2.2.3J2EE 的四層模型J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。事實(shí)上,sun設(shè)計(jì)J2EE的初衷正是為了解決兩層模式(client/server)的弊端,在傳統(tǒng)模式中,客戶端擔(dān)當(dāng)了過(guò)多的角色而顯得臃腫,在這種模式中,第一次部署的時(shí)候比較容易,但難于升級(jí)或改進(jìn),可伸展性也不理想,而且經(jīng)?;谀撤N專有的協(xié)議通常是某種數(shù)據(jù)庫(kù)協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難?,F(xiàn)在J2EE 的多層企業(yè)級(jí)應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,以下是 J2EE 典型的四層結(jié)構(gòu):運(yùn)行在客戶端機(jī)器上的客戶層組件運(yùn)行在J2EE服務(wù)器上的Web層組件運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件 運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件 圖2. 1 J2EE四層模型 2.2.4J2EE 的結(jié)構(gòu)這種基于組件,具有平臺(tái)無(wú)關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫(xiě)十分簡(jiǎn)單,因?yàn)闃I(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類型提供后臺(tái)服務(wù). 因?yàn)椴挥米约洪_(kāi)發(fā)這種服務(wù), 所以可以集中精力解決手頭的業(yè)務(wù)問(wèn)題。容器和服務(wù)容器設(shè)置定制了J2EE服務(wù)器所提供得內(nèi)在支持,包括安全,事務(wù)管理,JNDI(Java Naming and Directory Interface)尋址,遠(yuǎn)程連接等服務(wù),以下列出最重要的幾種服務(wù):J2EE安全(Security)模型可以配置 web 組件或enterprise bean ,這樣只有被授權(quán)的用戶才能訪問(wèn)系統(tǒng)資源。每一客戶屬于一個(gè)特別的角色,而每個(gè)角色只允許激活特定的方法。在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲明性的方法,你不必編寫(xiě)加強(qiáng)安全性的規(guī)則。 J2EE 事務(wù)管理(Transaction Management)模型指定組成一個(gè)事務(wù)中所有方法間的關(guān)系,這樣一個(gè)事務(wù)中的所有方法被當(dāng)成一個(gè)單一的單元。當(dāng)客戶端激活一個(gè)enterprise bean中的方法,容器介入一管理事務(wù)。因有容器管理事務(wù),在enterprise bean中不必對(duì)事務(wù)的邊界進(jìn)行編碼。 JNDI 尋址(JNDI Lookup)服務(wù)向企業(yè)內(nèi)的多重名字和目錄服務(wù)提供了一個(gè)統(tǒng)一的接口,這樣應(yīng)用程序組件可以訪問(wèn)名字和目錄服務(wù)。J2EE遠(yuǎn)程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的低層交互. 當(dāng)一個(gè)enterprise bean創(chuàng)建后, 一個(gè)客戶端可以調(diào)用它的方法就象它和客戶端位于同一虛擬機(jī)上一樣。生存周期管理(Life Cycle Management)模型管理enterprise bean的創(chuàng)建和移除,一個(gè)enterprise bean在其生存周期中將會(huì)歷經(jīng)幾種狀態(tài)。容器創(chuàng)建enterprise bean,并在可用實(shí)例池與活動(dòng)狀態(tài)中移動(dòng)他,而最終將其從容器中移除。即使可以調(diào)用enterprise bean的create及remove方法,容器也將會(huì)在后臺(tái)執(zhí)行這些任務(wù)。 數(shù)據(jù)庫(kù)連接池(Database Connection Pooling)模型是一個(gè)有價(jià)值的資源。獲取數(shù)據(jù)庫(kù)連接是一項(xiàng)耗時(shí)的工作,而且連接數(shù)非常有限。容器通過(guò)管理連接池來(lái)緩和這些問(wèn)題。enterprise bean可從池中迅速獲取連接。在bean釋放連接之可為其他bean使用。 容器類型J2EE應(yīng)用組件可以安裝部署到以下幾種容器中去:EJB 容器管理所有J2EE 應(yīng)用程序中企業(yè)級(jí)bean 的執(zhí)行. enterprise bean 和它們的容器運(yùn)行在J2EE 服務(wù)器上。Web 容器管理所有J2EE 應(yīng)用程序中JSP頁(yè)面和Servlet組件的執(zhí)行. Web 組件和它們的容器運(yùn)行在J2EE 服務(wù)器上。 應(yīng)用程序客戶端容器管理所有J2EE應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行. 應(yīng)用程序客戶端和它們的容器運(yùn)行在J2EE 服務(wù)器上。Applet 容器是運(yùn)行在客戶端機(jī)器上的web瀏覽器和 Java 插件的結(jié)合。圖2.2 J2EE容器第三章 銀行核心業(yè)務(wù)系統(tǒng)的實(shí)現(xiàn)3.1概念描述圖3.1 銀行核心系統(tǒng)應(yīng)用模塊結(jié)構(gòu)圖由于銀行業(yè)務(wù)不是本文描述的重點(diǎn),在此只作如下簡(jiǎn)單介紹。上圖以分層結(jié)構(gòu)圖來(lái)描述銀行核心系統(tǒng)中各應(yīng)用模塊的協(xié)作關(guān)系。最下一層為整個(gè)系統(tǒng)的基礎(chǔ),提供了一個(gè)系統(tǒng)資源的共享池,包括交易平臺(tái)、全局?jǐn)?shù)據(jù)(靜態(tài)數(shù)據(jù)、市場(chǎng)數(shù)據(jù)及應(yīng)用系統(tǒng)注冊(cè)表)、各業(yè)務(wù)系統(tǒng)公用方法及接口;第二層是客戶管理層,作為客戶信息和信用風(fēng)險(xiǎn)的管理中心;第三層是銀行核心業(yè)務(wù)層,包括外匯、儲(chǔ)蓄、及匯款,這一層負(fù)責(zé)銀行及客戶雙方的資金往來(lái)交易并為下一層中的其他銀行業(yè)務(wù)提供基礎(chǔ);第四層是銀行產(chǎn)品線業(yè)務(wù)層,這一層包括各種銀行營(yíng)收來(lái)源的產(chǎn)品,這些產(chǎn)品可以向銀行客戶打包銷售,這樣就有了一個(gè)交叉的產(chǎn)品模塊來(lái)處理收費(fèi)、利息及分紅的計(jì)算和處理;最上一層是企業(yè)資源配置(ERP)層,負(fù)責(zé)搜集所有業(yè)務(wù)系統(tǒng)的交易數(shù)據(jù)并為財(cái)務(wù)、管理及經(jīng)營(yíng)策略提供依據(jù)。另外圖中有一個(gè)跨越各層的模塊,為交易渠道(CHANNEL),在本系統(tǒng)結(jié)構(gòu)中,交易渠道是溝通系統(tǒng)用戶和系統(tǒng)核心的橋梁。3.2系統(tǒng)基礎(chǔ)架構(gòu)圖 3.2 銀行核心系統(tǒng)基礎(chǔ)架構(gòu)上圖給出了銀行核心系統(tǒng)基礎(chǔ)架構(gòu)里的各邏輯組件。本節(jié)試圖詳細(xì)定義各組件的功能及他們之間的相互關(guān)系。圖中的基礎(chǔ)組件,按照各自的功能分為五層。每一層都負(fù)有獨(dú)自的責(zé)任并且可以與其他組件從邏輯上分開(kāi),每一層與其鄰近的層松散藕合在一起,以下將以從后到前的順序逐一列出。3.2.1資源層(Resource Tier)本層包含有所有的業(yè)務(wù)數(shù)據(jù)及一些已有的資源,如主機(jī)上的系統(tǒng)、跨行的業(yè)務(wù)系統(tǒng)、第三方的軟件系統(tǒng)及一些新的內(nèi)部系統(tǒng)如ERP/MIS等。應(yīng)用系統(tǒng)遺產(chǎn)(Legacy Application Systems)此組件包含主機(jī)上已存在的銀行系統(tǒng)和連接第三方的系統(tǒng),例如VISA/Master card等。此處的雙向箭頭表示新老系統(tǒng)存在著在線的信息交互。數(shù)據(jù)庫(kù)(Databases)在新系統(tǒng)里會(huì)使用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)。為了支持多語(yǔ)言,所有的數(shù)據(jù)將以雙字節(jié)編碼(Unicode)進(jìn)行存儲(chǔ)。數(shù)據(jù)供給(Data Feed)數(shù)據(jù)供給是一個(gè)授信的數(shù)據(jù)來(lái)源渠道,由這里供應(yīng)的數(shù)據(jù)不需要經(jīng)過(guò)復(fù)雜的驗(yàn)證和轉(zhuǎn)換,例如匯率、利率、股價(jià)等等,然而,記錄數(shù)據(jù)供給的日志應(yīng)該定期的檢查和審計(jì)。企業(yè)資源配置系統(tǒng)(Enterprise Resources Planning (ERP) System)這個(gè)組件包括財(cái)務(wù)系統(tǒng)、管理信息系統(tǒng)和管理報(bào)表系統(tǒng)等,可以采用第三方的產(chǎn)品來(lái)完成數(shù)據(jù)挖掘和財(cái)務(wù)管理功能。例如一個(gè)完善的ERP系統(tǒng),并且有它自有的數(shù)據(jù)庫(kù)管理系統(tǒng),通過(guò)導(dǎo)入銀行核心系統(tǒng)的交易數(shù)據(jù)來(lái)完成數(shù)據(jù)分析和報(bào)表生成工作。作業(yè)調(diào)度器(Job Scheduler)作業(yè)調(diào)度器初始化批次作業(yè)進(jìn)入批次隊(duì)列中,這些作業(yè)有時(shí)間驅(qū)動(dòng)和事件驅(qū)動(dòng)兩種類型,并且支持單個(gè)的作業(yè)和作業(yè)流進(jìn)入調(diào)度器中進(jìn)行調(diào)度。經(jīng)過(guò)初始化后,它將持續(xù)檢查作業(yè)運(yùn)行的狀態(tài)并且在發(fā)生錯(cuò)誤的時(shí)候拋出異常。監(jiān)視器(Watchdog Console)監(jiān)視器是一個(gè)集中監(jiān)控系統(tǒng),它收集所有系統(tǒng)組件的異常警報(bào)以保證每個(gè)組件持續(xù)健康穩(wěn)定地運(yùn)行。它通過(guò)接收不同組件的信息(如作業(yè)異常信息、安全警報(bào)信息等)并觸發(fā)相應(yīng)的警告消息在操作控制臺(tái)上,并且能根據(jù)事件的嚴(yán)重等級(jí)通過(guò)發(fā)郵件、呼叫等方式來(lái)通知相應(yīng)的系統(tǒng)支持人員。3.2.2連接層(Integration Tier)連接層由各種連接業(yè)務(wù)邏輯層和后臺(tái)資源層的連接器組成,這一層中的組件由各種連接數(shù)據(jù)庫(kù)和其他第三方軟件的資源連接中間件組成,如JDBC、JMS、消息網(wǎng)關(guān)等。主機(jī)連接器(Host Integrator)主機(jī)連接器的主要功能就是保證在新的銀行核心系統(tǒng)與老系統(tǒng)之間安全穩(wěn)健地進(jìn)行雙向通訊,另外,兩階段提交機(jī)制也是這個(gè)組件的一個(gè)需要實(shí)現(xiàn)的功能,以保證當(dāng)有交易跨系統(tǒng)發(fā)生時(shí)的數(shù)據(jù)完整性與一致性。數(shù)據(jù)庫(kù)連接池(Database Connection Pool)數(shù)據(jù)庫(kù)連接池提供并且管理業(yè)務(wù)系統(tǒng)到數(shù)據(jù)庫(kù)的連接,使用連接池技術(shù),可以實(shí)現(xiàn)系統(tǒng)使用可配置的數(shù)據(jù)庫(kù)用戶和加密的密碼連接數(shù)據(jù)庫(kù),并且連接的個(gè)數(shù)和優(yōu)先次序也可根據(jù)系統(tǒng)的負(fù)荷進(jìn)行動(dòng)態(tài)地分配。它的另一好處就是避免了前臺(tái)用戶對(duì)數(shù)據(jù)庫(kù)的直接訪問(wèn),提高了系統(tǒng)數(shù)據(jù)的安全性。批次/報(bào)表服務(wù)器(Batch/Report Services)這個(gè)組件為批次作業(yè)和報(bào)表生成提供運(yùn)行環(huán)境,與聯(lián)機(jī)交易環(huán)境各自獨(dú)立, 它產(chǎn)生并管理作業(yè)隊(duì)列。另外,它也負(fù)責(zé)向數(shù)據(jù)庫(kù)連接池申請(qǐng)對(duì)數(shù)據(jù)庫(kù)的連接,以保證系統(tǒng)數(shù)據(jù)的安全性。ERP連接器(ERP Integrator)這個(gè)組件為銀行核心系統(tǒng)向ERP系統(tǒng)傳送數(shù)據(jù)提供接口,如生成總賬科目和更新市場(chǎng)數(shù)據(jù)等。另外,如有必要,也可以提供向ERP系統(tǒng)獲取數(shù)據(jù)的接口。業(yè)務(wù)邏輯層(Business Logic Tier)所有客戶端或其他外部系統(tǒng)提交的交易的業(yè)務(wù)邏輯, 都在這一層, 以實(shí)現(xiàn)業(yè)務(wù)邏輯的可重用性而不管交易的來(lái)源, 這一層的對(duì)象由消息請(qǐng)求喚起, 并以消息對(duì)象的形式返回應(yīng)答, 保證了業(yè)務(wù)邏輯層與客戶端的松散藕合。銀行核心業(yè)務(wù)對(duì)象(Core Banking Business Objects)這個(gè)組件代表了所有進(jìn)行交易處理的業(yè)務(wù)邏輯對(duì)象。 交易管理器(Transaction Manager)這個(gè)組件的功能是為了實(shí)現(xiàn)所有交易的共有流程(如交易流水記錄、異??刂?、數(shù)據(jù)庫(kù)連接申請(qǐng)等)的集中控制和管理,為此,它將接收所有來(lái)自不同交易渠道的客戶端的交易請(qǐng)求,并且,這個(gè)組件可以作為一個(gè)交易流控制器來(lái)完全客戶端發(fā)起的聯(lián)動(dòng)交易。3.2.3表示層(Presentation Tier)這一層提供安全控制,會(huì)話管理,生成交易請(qǐng)求消息并向不同的交易請(qǐng)求渠道返回格式化的交易輸出。服務(wù)器端的表示和語(yǔ)言服務(wù)器(Server Side Presentation & Languages Services)這個(gè)組件負(fù)責(zé)生成向所有電子通訊渠道發(fā)出的XML格式的表示內(nèi)容,這些渠道包括Internet、移動(dòng)終端設(shè)備、內(nèi)部網(wǎng)絡(luò)、分行柜員終端等,企業(yè)門(mén)戶內(nèi)容的管理也在這一層進(jìn)行,所有這些表示內(nèi)容都是支持多語(yǔ)言的,XML在實(shí)現(xiàn)多渠道支持上直到了關(guān)鍵作用。為了消除表示層的業(yè)務(wù)邏輯,所有收到的XML交易請(qǐng)求將被解析到標(biāo)準(zhǔn)的消息對(duì)象里并轉(zhuǎn)發(fā)到交易管理器,然后由收到的交易應(yīng)答對(duì)象生成XML格式的回應(yīng)。請(qǐng)求分派服務(wù)(Request Dispatch Service)這個(gè)組件是為了實(shí)現(xiàn)平衡負(fù)載而將交易請(qǐng)求根據(jù)分派機(jī)制分發(fā)給隨后的應(yīng)用服務(wù)器。服務(wù)端加密服務(wù)器(Service Side e-Security Services)這個(gè)組件覆蓋了各種電子渠道上的安全管理問(wèn)題,如身份識(shí)別、加密、亂碼、系統(tǒng)保護(hù)等。安全控制服務(wù)(Security Control Services)這個(gè)組件控制所有用戶對(duì)銀行核心系統(tǒng)的訪問(wèn),身份鑒定和操作授權(quán)是兩個(gè)主要的功能,用戶只能在經(jīng)過(guò)系統(tǒng)注冊(cè)的IP或設(shè)備上訪問(wèn)預(yù)先設(shè)定的業(yè)務(wù)系統(tǒng)。安全數(shù)據(jù)庫(kù)(Security Database)一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)系統(tǒng)安全信息以完成對(duì)用戶的身份鑒別和訪問(wèn)授權(quán)。服務(wù)會(huì)話期管理(Service Session Management)這個(gè)組件屬于J2EE應(yīng)用服務(wù)器的基本功能,它實(shí)現(xiàn)對(duì)用戶會(huì)話期的上下文管理以完成交易處理流程。通用通訊服務(wù)器(Common Communication Services)這個(gè)組件提供了一個(gè)通用的通訊協(xié)議以實(shí)現(xiàn)在非XML類型的交易渠道對(duì)銀行核心系統(tǒng)的訪問(wèn)。3.2.4客戶層(Client Tier)客戶層表示所有交易渠道的用戶對(duì)銀行核心系統(tǒng)的訪問(wèn)界面,例如互聯(lián)網(wǎng)瀏覽器、移動(dòng)通訊終端、JAVA小應(yīng)用程序、自動(dòng)柜員機(jī)(ATM)、交互式語(yǔ)音應(yīng)答系統(tǒng)(IVRS)、呼叫中心(Call Center)或其他的圖形用戶界面。XML是客戶端顯示的工業(yè)標(biāo)準(zhǔn)??蛻舳穗娮蛹用芊?wù)為在公用網(wǎng)上對(duì)系統(tǒng)的訪問(wèn)提供端到端的保護(hù),如SSL。3.3項(xiàng)目規(guī)劃3.3.1項(xiàng)目團(tuán)隊(duì)組織架構(gòu)系統(tǒng)各小組角色和職責(zé):圖 3.3 項(xiàng)目團(tuán)隊(duì)組織架構(gòu)圖APPLICATIONS ARCHITECTURE&DEVELOPMENT(應(yīng)用系統(tǒng)架構(gòu)及開(kāi)發(fā)組)子系統(tǒng)角色和職責(zé)劃分:表 3.1 應(yīng)用系統(tǒng)開(kāi)發(fā)組職責(zé)對(duì)照表子系統(tǒng)任務(wù)描述主要職責(zé)整體系統(tǒng)框架制定系統(tǒng)框架及開(kāi)發(fā)標(biāo)準(zhǔn)硬件配置組件整合系統(tǒng)開(kāi)發(fā)標(biāo)準(zhǔn)系統(tǒng)核心部分-分行操作渠道Branch Operation Channel(SC BOC)為銀行內(nèi)部用戶提供應(yīng)用系統(tǒng)操作界面用戶界面框架交易畫(huà)面流程數(shù)據(jù)類型檢查初步計(jì)算及檢驗(yàn)控制金融機(jī)構(gòu)客房端設(shè)備系統(tǒng)核心部分-交易管理器Transaction Manager(SC TXM)在前臺(tái)交易渠道和后臺(tái)應(yīng)用系統(tǒng)之間建立標(biāo)準(zhǔn)的信息傳遞連接為不同的渠道提供連接器信息語(yǔ)義檢查用戶會(huì)話檢查交易信息分發(fā)異??刂朴脩粜畔⑥D(zhuǎn)換系統(tǒng)核心部分-安全控制系統(tǒng)Security Control System(SC SCS)確保合法的交易請(qǐng)求被傳遞到應(yīng)用系統(tǒng)進(jìn)行處理用戶身份鑒定用戶資料管理用戶菜單生成用戶權(quán)限管理應(yīng)用系統(tǒng)注冊(cè)交易渠道注冊(cè)用戶密碼/卡管理主管授權(quán)信息加密/解密系統(tǒng)核心部分-全局?jǐn)?shù)據(jù)管理General Information(SC GIF)為應(yīng)用系統(tǒng)提供共享數(shù)據(jù)和工具公用方法:如賬號(hào)生成和檢驗(yàn)、柜員余額計(jì)算、計(jì)息公式、匯兌公式、日期計(jì)算等公用數(shù)據(jù):如產(chǎn)品數(shù)據(jù)、市場(chǎng)匯率、貨幣、假日、系統(tǒng)參數(shù)等客戶信息CIF(CC CIF)客戶信息的管理和維護(hù)客戶、第三方機(jī)構(gòu)和銀行信息記錄銀行內(nèi)部賬號(hào)客戶地址、合同管理黑名單管理客戶賬號(hào)會(huì)計(jì)系統(tǒng)Accounts (ACC)核心系統(tǒng)帳務(wù)處理記錄分戶帳利息、費(fèi)用、稅金計(jì)算及記錄分行余額管理為會(huì)計(jì)科目平衡及報(bào)表提供源數(shù)據(jù)銀行產(chǎn)品-儲(chǔ)蓄、貸款、國(guó)際業(yè)務(wù)Bank products(DEP, LNS, BIS)銀行產(chǎn)品所屬交易管理交易檢驗(yàn)交易記錄和處理交易流控制日終批處理Batch Day end Processing (BDE)實(shí)現(xiàn)統(tǒng)一的日終處理流程作業(yè)步驟管理日切處理數(shù)據(jù)庫(kù)清理及備份啟動(dòng)日終處理總賬數(shù)據(jù)導(dǎo)入監(jiān)控日終處理狀態(tài)作業(yè)斷點(diǎn)重啟設(shè)備驅(qū)動(dòng)Device Drivers (DDV)為輸出設(shè)備提供驅(qū)動(dòng)打印機(jī)、讀寫(xiě)卡器、密碼鍵盤(pán)、ATM驅(qū)動(dòng)SMTP3.3.2業(yè)務(wù)需求范圍表 3.2 業(yè)務(wù)需求矩陣1Customer Information File (CIF)客戶信息1.1總體需求1.1.1提供方便的客戶信息訪問(wèn)路徑1.1.2在一個(gè)界面能顯示客戶的各類賬戶信息1.1.3與其他模塊、系統(tǒng)關(guān)聯(lián),實(shí)現(xiàn)信息互相調(diào)用1.1.4支持客戶關(guān)系管理2Deposit存款2.1總體要求2.1.1產(chǎn)品具有的能力:完成在線實(shí)時(shí)產(chǎn)品構(gòu)建在產(chǎn)品層面提供參數(shù)驅(qū)動(dòng)功能,根據(jù)授權(quán)人的要求方便設(shè)置賬戶完成計(jì)算功能更新賬戶余額支持賬戶盈利性管理控制輸入和掛賬記錄符合管理報(bào)表的要求保留并追溯各個(gè)賬戶及或客戶或組(根據(jù)資產(chǎn)類型)的全部信息且這些信息是集成的生成會(huì)計(jì)分錄以計(jì)入總賬支持不同的利率選項(xiàng)支持產(chǎn)品批量處理,如批量代發(fā)代扣2.1.2存款系統(tǒng)處理下列賬戶的存款業(yè)務(wù):活期存款(可以使用支票或存折,可以設(shè)置透支功能)整存整取定期存款零存整取定期存款存本取息定期存款 定活兩便存款保證金存款 2.1.3Account handling 賬戶處理通存通兌存折便利2.1.4靈活的存款賬戶處理(允許在不同幣種的存款賬戶之間進(jìn)行資金劃轉(zhuǎn))3Loan貸款3.1.總體需求3.1.1系統(tǒng)能夠支持:3.1.2公司前景分析(企業(yè)類型,銷售總額,總資產(chǎn),盈利性等)3.1.3完整的貸款處理過(guò)程a. 記錄交易b. 運(yùn)行計(jì)算c. 更新余額d. 生成支付通知e. 跟蹤應(yīng)收帳款f. 控制輸入和掛賬記錄g. 在有效貸款管理要求層面維護(hù)數(shù)據(jù)h.滿足管理報(bào)表的需求i. 在整合基礎(chǔ)上維護(hù)和跟蹤單個(gè)貸款帳戶和/或客戶(群)的所有信息j. 生成入總帳的會(huì)計(jì)分錄k.利率多選項(xiàng)功能l. 構(gòu)造新貸款產(chǎn)品的便利m. 支持多貨幣n.系統(tǒng)支持貸款處理全過(guò)程的自動(dòng)工作流控制.o.系統(tǒng)支持生成用戶定義的各種類型報(bào)表3.1.4系統(tǒng)具有核銷處理的能力3.1.5自動(dòng)計(jì)算貸款準(zhǔn)備金3.1.6從其他第三方系統(tǒng)(如客戶信息系統(tǒng)、行業(yè)內(nèi)或區(qū)域內(nèi)個(gè)人征信系統(tǒng)等)接入數(shù)據(jù)的便捷性和相容性3.1.7系統(tǒng)對(duì)用戶指定的貸款具備批量,自動(dòng)審批的功能.4General Ledger 總賬4.1總體需求4.1.1符合國(guó)際會(huì)計(jì)準(zhǔn)則4.1.2系統(tǒng)需要建立總賬代碼表,并支持產(chǎn)生不同的會(huì)計(jì)報(bào)表.請(qǐng)具體說(shuō)明總賬代碼結(jié)構(gòu)的編制方法.4.1.3賬戶和交易的在線查詢,包括當(dāng)期、上期和前一會(huì)計(jì)年度全行、各地區(qū)、各部門(mén)和各分支行的匯總、明細(xì)數(shù)據(jù)4.1.4支持建立多層次的賬戶結(jié)構(gòu)表4.1.5支持收付實(shí)現(xiàn)制與權(quán)責(zé)發(fā)生制4.1.6支持對(duì)特定賬戶由用戶選擇年底結(jié)轉(zhuǎn)或順延4.1.7支持年末作損益結(jié)轉(zhuǎn)4.1.8支持多部門(mén)、多會(huì)計(jì)期間、多幣種的會(huì)計(jì)核算4.1.9與其他系統(tǒng)的接口5Remittance匯款5.1總體需求5.1.1匯款類型:5.1.1.1國(guó)內(nèi)匯入?yún)R款和匯出匯款5.1.1.2行內(nèi)匯入?yún)R款和匯出匯款5.1.1.3國(guó)際匯入?yún)R款和匯出匯款5.1.2匯款方式: 電匯 / 票匯 / 信匯3.6.Collection托收3.6.1.總體需求托收系統(tǒng)提供銀行將票據(jù)向其他銀行進(jìn)行托收。托收系統(tǒng)應(yīng)該是核心業(yè)務(wù)系統(tǒng)的一部分,所有的交易應(yīng)該和其他系統(tǒng)遵循同樣的處理規(guī)則。業(yè)務(wù)范圍包括:3.6.1.1外幣票據(jù)包括:銀行本票、銀行匯票、銀行支票、私人支票、旅行支票、遠(yuǎn)期支票、國(guó)庫(kù)券、國(guó)債或保付支票、到期債券和息票等3.6.1.2本幣票據(jù)包括:銀行本票(個(gè)人支票/企業(yè)支票)、銀行支票(含個(gè)人現(xiàn)金匯票)、遠(yuǎn)期支票、銀行匯票、銀行承兌匯票、商業(yè)承兌匯票、托收承付、委托收款等3.3.3項(xiàng)目總體計(jì)劃Phase IPhase IIPhase IIIProjectsJan-01Jun-01Jul-01Apr-02May-02Jun-02Jul-02Aug-02Sep-02Nov-02Dec-02Jan-03Feb-03Mar-03Dec-03System CoreDesignDevelopUATCIFAnaysis& DesignDesignUATFXDevelopUATCredit & CollateralAnalysis & DesignDevelopUATAccountsAnalysis & DesignDevelopUATDepositsRequirementsAnalysis & DesignDevelopUATDevelopUATLoansRequirementsAnalysis & DesignDevelopUATDevelopUATBillsAnalysis & DesignDevelopUATGL MigrationAnalysis & DesignIST/UAT/ConversionDesignDevelopUATReportingAnalysis & DesignIST/UATDesignDevelopUAT圖 3.4 項(xiàng)目整體計(jì)劃3.3.4項(xiàng)目實(shí)施網(wǎng)絡(luò)拓?fù)鋱D 3.5 項(xiàng)目實(shí)施網(wǎng)絡(luò)拓?fù)鋱DDatabase Zone(Centralized)Web Server Zone(Group by region)Application Server Zone(Group by application)BatchServerBatchServerLoad BalancingWebServerWebServerWebServerWebServerWebServerWebServerApplicationServerApplicationServerApplicationServerApplicationServerApplicationServerApplicationServerHACMP /Parallel ModeDBServerDBServerBatch Server ZoneReportServerReportServer圖 3.6 服務(wù)器布局圖3.4基于MVC的核心模塊設(shè)計(jì)規(guī)格3.4.1聯(lián)機(jī)交易程序分布J2EE Web Server ContainerJ2EE EJB ContainerDB ServerSCSController(EJB)Style sheets(CSS)ConfigXML FileAppsConfigXML FileAppsConfigXML FileAppsScreens(HTML)1Activity JournalingDBConnector(Singleton)Get DBConnectionServiceBrokerWindowControlFrame(Serlvet)AppsScreensHandlerTXMConnectorTXNManager(EJB)FunctionModelPL/SQL/ DBConnectDB2XMLStringXMLStringJavaObjectErrorHandler(Singleton)Txn.Journal(Singleton)ClientBrowserLocalDeviceDriversTxn.JournalFileErrorLogFileApplet圖 3.7 聯(lián)機(jī)交易軟件部署圖3.4.2交易視圖(View)HandlerTemplateTransactionMessage圖 3.8 交易視圖的實(shí)體關(guān)系圖為了統(tǒng)一交易畫(huà)面的風(fēng)格及開(kāi)發(fā)流程,所有交易畫(huà)面的設(shè)計(jì)及實(shí)現(xiàn)將由上圖中各實(shí)體來(lái)完成。其中交易(Transaction)與消息(Message)將在下一節(jié)“應(yīng)用系統(tǒng)”注冊(cè)表中詳述。由上圖中可看出:每個(gè)交易包含多個(gè)不同交易畫(huà)面的模板(Template);每個(gè)模板可對(duì)應(yīng)一到多個(gè)負(fù)責(zé)交易畫(huà)面處理的處理器(Handler);交易畫(huà)面模板(Template)所有交易的畫(huà)面將統(tǒng)一以HTML模板的形式實(shí)現(xiàn),里面采用JAVASCRIPT來(lái)進(jìn)行必要的客戶端數(shù)據(jù)檢驗(yàn)及計(jì)算處理。畫(huà)面處理器(Handler)畫(huà)面處理器對(duì)應(yīng)一個(gè)物理意義上的客戶端顯示處理程序,當(dāng)用戶在畫(huà)面上提交交易后,畫(huà)面處理器負(fù)責(zé)接收交易數(shù)據(jù)及生成XML格式的交易請(qǐng)求信息并發(fā)到后臺(tái)的CONTROLLER進(jìn)行交易處理。為了避免在表示層(Presentation Tier)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),交易、模板、處理器三者之間的關(guān)系將以XML配置文件的形式存放在服務(wù)器端的表示服務(wù)器(Server Side Presentation Services)上,此XML配置文件的每一個(gè)節(jié)點(diǎn)由以下數(shù)據(jù)元素組成:處理器標(biāo)識(shí)符:用來(lái)唯一確定一個(gè)處理器;交易代號(hào):表示此處理器將用于哪一個(gè)交易畫(huà)面處理;程序名:表示此處理器對(duì)應(yīng)于哪一個(gè)物理程序(Class);初始標(biāo)記:表示此處理器是否是此交易的第一個(gè)處理器,當(dāng)初始化一個(gè)交易時(shí),將使用此交易代號(hào)下初始化標(biāo)記為真的那一個(gè)處理器。模板文件名:表示此處理器將被哪一個(gè)交易畫(huà)面模板呼叫。應(yīng)用系統(tǒng)注冊(cè)表(Controller)為了銀行核心系統(tǒng)內(nèi)部各應(yīng)用系統(tǒng)的管理和定義各系統(tǒng)內(nèi)對(duì)象之間的接口關(guān)系,所有的應(yīng)用系統(tǒng)必需將其本身及內(nèi)部的功能模塊在數(shù)據(jù)庫(kù)中進(jìn)行注冊(cè)后才能生效,以下是本注冊(cè)機(jī)制中和實(shí)體之間的關(guān)系圖。ApplicationTransactionGroupChannelTransactionFunction ModelMessageChannelTransaction圖3.9 應(yīng)用系統(tǒng)注冊(cè)表的實(shí)體關(guān)系圖由以上的實(shí)體關(guān)系圖可以得出以下關(guān)系:每一個(gè)交易渠道(CHANNEL)里可以進(jìn)行的交易必須在渠道交易實(shí)體(Channel Transaction)里注冊(cè);所有合法交易都必須在交易實(shí)體(Transaction)里注冊(cè);每一個(gè)應(yīng)用系統(tǒng)(Application)下包含多個(gè)交易組(Transaction Group);每一個(gè)交易組可以包含多個(gè)子交易組;每一個(gè)交易可以有多個(gè)交易請(qǐng)求信息(Message),此交易請(qǐng)求由交易渠道接收;每一個(gè)應(yīng)用系統(tǒng)下有多個(gè)處理模型(Function Model),每一個(gè)處理模型可被多個(gè)交易請(qǐng)求信息驅(qū)動(dòng),以此來(lái)實(shí)現(xiàn)處理模型的可重用性。應(yīng)用系統(tǒng)(Application)一個(gè)應(yīng)用系統(tǒng)由一個(gè)功能模型包組成,用來(lái)實(shí)現(xiàn)某一特定業(yè)務(wù)領(lǐng)域的應(yīng)用需求,例如客戶信息系統(tǒng)(CIF)、儲(chǔ)蓄業(yè)務(wù)系統(tǒng)(Deposit)、國(guó)際業(yè)務(wù)等等,應(yīng)用系統(tǒng)的數(shù)據(jù)實(shí)體由以下數(shù)據(jù)項(xiàng)組成:應(yīng)用系統(tǒng)代碼:由三個(gè)字符組成,用來(lái)唯一標(biāo)識(shí)一個(gè)應(yīng)用系統(tǒng)模塊。應(yīng)用系統(tǒng)名稱:用于客戶端的顯示或報(bào)表的打印。數(shù)據(jù)庫(kù)用戶名:記錄訪問(wèn)此應(yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)用戶名。數(shù)據(jù)庫(kù)用戶密碼:加密存放以上數(shù)據(jù)庫(kù)用戶的訪問(wèn)密碼。生效標(biāo)記:用來(lái)標(biāo)記此應(yīng)用系統(tǒng)是否有效,對(duì)應(yīng)于此標(biāo)記,此應(yīng)用系統(tǒng)下的所有功能模型也將相應(yīng)地生效或失效。消息(Message)在此銀行核心系統(tǒng)內(nèi),使用消息來(lái)驅(qū)動(dòng)功能模型以完成不同的交易,每一個(gè)消息由以下部分組成:消息標(biāo)識(shí)號(hào):一個(gè)唯一的標(biāo)識(shí)用來(lái)確定一條銀行核心系統(tǒng)內(nèi)的合法消息。所屬的交易代碼:用來(lái)表示此消息由何交易發(fā)出。消息序號(hào):用來(lái)記錄當(dāng)前消息在本交易中的次序。功能模型代號(hào):用來(lái)表示此消

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論