999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Geronimo的銀行通訊前置系統(tǒng)的設(shè)計(jì)

2012-12-31 00:00:00樊亮,丁岳偉
計(jì)算機(jī)時(shí)代 2012年12期

摘 要: 提出了一套基于JavaEE開源服務(wù)器Geronimo通訊前置系統(tǒng)的設(shè)計(jì)方案,以解決銀行異構(gòu)系統(tǒng)間的通訊互聯(lián)問題。該系統(tǒng)具有通訊模式轉(zhuǎn)換、報(bào)文格式轉(zhuǎn)換、工作流和日志記錄等功能,不僅能有效地解決銀行與企業(yè)間數(shù)據(jù)交換時(shí)存在的問題,同時(shí)可以很好地兼容銀行原有的系統(tǒng)架構(gòu)。

關(guān)鍵詞: 銀行; 數(shù)據(jù)交換; 通訊前置; Geronimo

中圖分類號(hào):TP319 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2012)12-36-03

Design of front-end system for banks based on Geronimo

Fan Liang, Ding Yuewei

(University of Shanghai for Science and Technology School of Optical-Electrical and Computer Engineering, Shanghai 200093, China)

Abstract: To solve the problems of interconnection between heterogeneous systems, a design of front-end system based on open source JavaEE server Geronimo is presented. The system contains the functions such as communication mode conversion, message format conversion, and workflow and log record. It can solve the problems above and it is also compatible with the original system architecture of banks.

Key words: bank; data exchange; front-end system; Geronimo

0 引言

隨著金融信息化程度的加深,銀行之間以及與第三方企業(yè)之間的信息交互也越來(lái)越頻繁。每個(gè)銀行和企業(yè)都有自己的應(yīng)用系統(tǒng),甚至銀行內(nèi)部會(huì)有幾套不同的應(yīng)用系統(tǒng)。這些系統(tǒng)的通訊方式、通訊協(xié)議和報(bào)文格式各不相同,使得系統(tǒng)間通訊十分復(fù)雜,對(duì)于不同的系統(tǒng)互聯(lián)一般都需要單獨(dú)開發(fā)一套通訊接口,這樣不僅開發(fā)難度高,效率低下,而且由于系統(tǒng)間耦合度極高,容易給日后的維護(hù)帶來(lái)極大的不便。為了解決以上的問題,本文提出了一種基于開源組織Apache的JavaEE開源服務(wù)器Geronimo的通訊前置系統(tǒng)。它不僅能整合雜亂無(wú)序的通訊需求,而且作為各類應(yīng)用系統(tǒng)間的通訊樞紐,為其形成統(tǒng)一、平滑的通訊連接,提供統(tǒng)一、方便的管理,并且能提供可靠的安全校驗(yàn)機(jī)制,保證數(shù)據(jù)傳輸過程中的安全性。

1 Geronimo簡(jiǎn)介

Geronimo是開源組織Apache的一款開源服務(wù)器,支持所有J2EE1.4規(guī)范,并且支持大部分J2EE1.5規(guī)范。Geronimo的核心是一個(gè)輕量級(jí)的Ioc核心,在Geronimo中的模塊以配置文件的形式存在,由這個(gè)Ioc核心負(fù)責(zé)讀取和管理。這個(gè)核心的主要功能是支持依賴管理,配置管理,生命周期管理和倉(cāng)儲(chǔ)服務(wù)。以這個(gè)核心為基礎(chǔ)集成了各種各樣的容器和模塊,比如Apache的OpenEJB,ActiveMQ和Jetty等,并且可以根據(jù)需求添加或刪除,可擴(kuò)展性非常好。

Geronimo中一個(gè)模塊稱為一個(gè)GBean,由Ioc核心來(lái)管理這些GBean的生命周期。通過JDK自帶的Jmx工具不僅可以查看Geronimo服務(wù)器運(yùn)行的狀態(tài),內(nèi)存分配等情況,還可以查看服務(wù)器中已經(jīng)存在的GBean的狀態(tài),屬性等等。

2 通訊前置系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 系統(tǒng)設(shè)計(jì)思想

該平臺(tái)的總體設(shè)計(jì)思想是設(shè)計(jì)出一個(gè)能解決異構(gòu)系統(tǒng)間通訊互聯(lián)的通訊前置系統(tǒng)。在通訊部分,采用TCP/IP協(xié)議來(lái)整合來(lái)自不同系統(tǒng)間的的通訊需求,實(shí)現(xiàn)通訊協(xié)議的轉(zhuǎn)換。該平臺(tái)的主體基于開源組織Apache的一款服務(wù)器Geronimo,支持功能的模塊化,可擴(kuò)展性強(qiáng),而且由于Java的平臺(tái)無(wú)關(guān)性,系統(tǒng)也具有良好的可移植性。

2.2 系統(tǒng)架構(gòu)

通訊前置系統(tǒng)采用C/S架構(gòu),主要包括兩個(gè)部分。一部分是通訊前置服務(wù)器,另一部分是通訊前置業(yè)務(wù)配置工具[1]。

2.2.1 通訊前置服務(wù)器

服務(wù)器是一個(gè)基于Geronimo的JavaEE容器,遵循Jmx標(biāo)準(zhǔn)規(guī)范。系統(tǒng)基于異步核心,使用基于Jms1.0標(biāo)準(zhǔn)規(guī)范的消息服務(wù)。

系統(tǒng)所有服務(wù)都在該容器中。每個(gè)服務(wù)主要包括控制器、監(jiān)聽線程或消息監(jiān)聽器,業(yè)務(wù)處理線程。控制器讀取配置文件,監(jiān)聽監(jiān)控工具的管理請(qǐng)求,然后按照請(qǐng)求啟動(dòng)或者停止監(jiān)聽線程。監(jiān)聽線程負(fù)責(zé)監(jiān)聽某個(gè)具體的業(yè)務(wù)請(qǐng)求,在收到業(yè)務(wù)請(qǐng)求后,啟動(dòng)業(yè)務(wù)處理線程進(jìn)行處理,消息監(jiān)聽器用于處理消息請(qǐng)求,啟動(dòng)相應(yīng)的業(yè)務(wù)處理器進(jìn)行處理。

2.2.2 業(yè)務(wù)配置工具

業(yè)務(wù)配置工具是基于Eclipse的SWT開發(fā)的圖形化用戶界面,它用來(lái)收集用戶的業(yè)務(wù)需求,將其轉(zhuǎn)換為通訊前置服務(wù)器可讀的配置文件,供通訊前置服務(wù)器讀取[2]。配置的主要內(nèi)容是業(yè)務(wù)流程配置,報(bào)文格式配置及資源的配置及業(yè)務(wù)控制、調(diào)試等功能。

2.3 系統(tǒng)功能模塊

通訊前置系統(tǒng)功能模塊主要分為五部分:系統(tǒng)主模塊,通訊模塊,報(bào)文模塊,工作流模塊以及日志模塊。各模塊關(guān)系如圖1所示。

2.3.1 系統(tǒng)主模塊

通訊前置系統(tǒng)里有一系列的接入適配器,每個(gè)接入適配器的都配置了IP和端口。系統(tǒng)主模塊為每個(gè)IP和端口都分配了一個(gè)交易監(jiān)聽線程來(lái)監(jiān)聽消息交易請(qǐng)求,一旦接收到請(qǐng)求,就將請(qǐng)求分發(fā)給對(duì)應(yīng)的業(yè)務(wù)處理線程進(jìn)行處理[3]。同時(shí)它還負(fù)責(zé)每個(gè)交易的啟動(dòng),部署,停止和卸載,是整個(gè)通訊前置系統(tǒng)的核心模塊。

2.3.2 通訊模塊

隨著銀行業(yè)務(wù)的拓展,銀行與第三方的通訊模式越來(lái)越多樣化,有同步的,有異步的,有長(zhǎng)連接,也有短連接,更多的是以上幾種模式兼而有之。通訊模塊負(fù)責(zé)各種通訊模式的相互轉(zhuǎn)換,為銀行和第三方間的信息交互提供了統(tǒng)一、平滑的通訊連接。

2.3.3 報(bào)文模塊

報(bào)文格式的定義有很多,有定長(zhǎng)報(bào)文、分隔符報(bào)文,8583報(bào)文,XML報(bào)文等。甚至同一種類型的報(bào)文,比如8583報(bào)文,它們的定義也可以不相同。報(bào)文模塊可以根據(jù)開發(fā)人員配置好的報(bào)文轉(zhuǎn)換規(guī)則,將不同格式的報(bào)文進(jìn)行相互轉(zhuǎn)換,這也為銀行和第三方的通訊提供了可靠的保證。

2.3.4 工作流模塊

工作流模塊主要用于解釋工作流,完成與工作流相關(guān)的各模塊之間的相互調(diào)用。工作流信息通過配置文件的形式存儲(chǔ)。工作流引擎根據(jù)交易代碼調(diào)用配置文件中的相應(yīng)業(yè)務(wù)流程,并按順序調(diào)用相應(yīng)的組件,每個(gè)交易維護(hù)自己的一個(gè)交易上下文,同時(shí),每個(gè)交易會(huì)使用應(yīng)用服務(wù)或系統(tǒng)服務(wù)提供的報(bào)文,適配器,MQ隊(duì)列等資源[4]。

2.3.5 日志模塊

日志模塊負(fù)責(zé)加載日志配置文件并把交易日志記錄到相應(yīng)的文件中去,這樣可以方便開發(fā)人員進(jìn)行錯(cuò)誤的排查。日志模塊采用Log4J技術(shù),通過配置文件可以指定交易日志的級(jí)別,從低到高可分為Debug,Info,Warn,Error,F(xiàn)atal五個(gè)級(jí)別。當(dāng)為一個(gè)交易指定了日志級(jí)別之后,則日志中記錄該級(jí)別以及該級(jí)別以上的日志信息。

2.4 系統(tǒng)流程設(shè)計(jì)

通訊前置啟動(dòng)時(shí)加載應(yīng)用服務(wù)前會(huì)讀取一個(gè)狀態(tài)信息配置文件,配置文件中保存了各應(yīng)用服務(wù)上一次關(guān)閉前置系統(tǒng)時(shí)的狀態(tài),根據(jù)狀態(tài)信息恢復(fù)應(yīng)用的狀態(tài)。另外,在應(yīng)用服務(wù)的啟動(dòng)過程中,必須先啟動(dòng)基本的系統(tǒng)服務(wù),再啟動(dòng)應(yīng)用服務(wù),因?yàn)閼?yīng)用服務(wù)依賴于系統(tǒng)服務(wù),而應(yīng)用服務(wù)之間是相互獨(dú)立的[5]。

應(yīng)用服務(wù)啟動(dòng)過程中,首先讀取應(yīng)用配置信息,然后根據(jù)配置信息中指定的參數(shù)分配相關(guān)資源,并啟動(dòng)監(jiān)聽線程和業(yè)務(wù)處理線程,由監(jiān)聽線程等待客戶端請(qǐng)求,接到請(qǐng)求后轉(zhuǎn)發(fā)給業(yè)務(wù)處理線程,再循環(huán)等待下一個(gè)客戶端請(qǐng)求。

業(yè)務(wù)處理線程處理交易的過程是:業(yè)務(wù)處理線程池接收到交易請(qǐng)求后,調(diào)用一個(gè)空閑線程,讀取交易及相應(yīng)的報(bào)文配制,按照交易流程進(jìn)行相應(yīng)的交易處理,流程處理完畢后釋放相應(yīng)資源,將線程歸還到線程連接池,以處理新的請(qǐng)求。線程連接池采取非阻塞的方式來(lái)處理,增加了吞吐量,也降低了交易互鎖的風(fēng)險(xiǎn)[6]。

3 通訊前置系統(tǒng)性能測(cè)試

3.1 測(cè)試環(huán)境

硬件環(huán)境:服務(wù)器采用的是IBM 9133-55A;CPU為4顆雙核(每顆2097 MHz);物理內(nèi)存為7936MB;調(diào)頁(yè)空間為8192MB。

軟件環(huán)境:操作系統(tǒng)采用AIX 6.1;JDK版本為IBM JDK1.6-SR10。

測(cè)試工具:Nmon。

3.2 測(cè)試目的

⑴ 對(duì)平臺(tái)的處理效率、并發(fā)性能以及可擴(kuò)展性等方面進(jìn)行考察。

⑵ 對(duì)平臺(tái)穩(wěn)定性進(jìn)行測(cè)試。

3.3 測(cè)試用例與測(cè)試數(shù)據(jù)

為了測(cè)試多種交易的情況,本文一共模擬了5種交易場(chǎng)景進(jìn)行測(cè)試。對(duì)不同的交易場(chǎng)景制定了不同的測(cè)試用例進(jìn)行測(cè)試。

測(cè)試用例1和測(cè)試數(shù)據(jù)如表1所示。

3.4 測(cè)試結(jié)論

從性能對(duì)比測(cè)試結(jié)果看,基于Geronimo的通訊前置系統(tǒng)的TPS能滿足絕大部分銀行交易平臺(tái)的需求。該系統(tǒng)也具有很高的穩(wěn)定性,能長(zhǎng)時(shí)間不間斷地穩(wěn)定運(yùn)行。

4 結(jié)束語(yǔ)

隨著商業(yè)銀行的快速發(fā)展和銀行電子化進(jìn)程的加快,商業(yè)銀行迫切需要一個(gè)解決異構(gòu)系統(tǒng)間通訊互聯(lián)問題的通訊前置系統(tǒng),同時(shí),由于銀行業(yè)務(wù)系統(tǒng)的不斷增加,圖形化配置業(yè)務(wù)流程以及加快業(yè)務(wù)系統(tǒng)的開發(fā)進(jìn)度就顯得十分必要。通訊前置系統(tǒng)還提供不同業(yè)務(wù)交易流程的整合功能,保障核心的穩(wěn)定性和可擴(kuò)展性。雖然在控制高并發(fā)方面還有待進(jìn)一步研究,但是基于Geronimo的通訊前置系統(tǒng)已經(jīng)基本滿足了商業(yè)銀行的以上需求,提高了商業(yè)銀行的市場(chǎng)競(jìng)爭(zhēng)力,為商業(yè)銀行開拓更多元化的金融產(chǎn)品和服務(wù)提供了強(qiáng)有力的技術(shù)保障。

參考文獻(xiàn):

[1] 劉紹球,邱衛(wèi)東,陳克非.商業(yè)銀行綜合前置系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)

算機(jī)工程,2006.32(16):274-276

[2] (美)埃克爾著,陳昊鵬譯.Java編程思想(第4版)[M].機(jī)械工業(yè)出版社,

2007.

[3] Robbins, Steven Robbins. Unix Systems Programming:Communi-

cation, Conncurrency and Threads[M].Pearson,2003.6:23-56

[4] 葛冬霞.消息隊(duì)列中間件及其應(yīng)用[J].高性能技術(shù),2004.169(4):

58-60

[5] 翟裕忠.一個(gè)基于XML的數(shù)據(jù)交換原型系統(tǒng)[J].計(jì)算機(jī)工程,

2000.26(12):212-214

[6] 唐丁波.銀行前置機(jī)系統(tǒng)的設(shè)計(jì)[J].電腦信息與技術(shù),2003.32(6):

32-36

主站蜘蛛池模板: www.狠狠| 日本91在线| 欧美一级在线| 国产午夜人做人免费视频| 91国内在线视频| 精品伊人久久大香线蕉网站| 婷婷亚洲天堂| 99热这里只有免费国产精品| 国产一区二区三区免费观看| 亚洲无限乱码一二三四区| 国产青青操| 人人妻人人澡人人爽欧美一区 | 福利在线不卡| 亚洲欧洲天堂色AV| 成人福利一区二区视频在线| 人妻精品久久久无码区色视| 99视频免费观看| 噜噜噜久久| 国产精品亚欧美一区二区| 日韩av电影一区二区三区四区 | 四虎在线高清无码| 国产理论最新国产精品视频| 特级毛片8级毛片免费观看| 亚洲天堂网在线播放| 无码高潮喷水专区久久| 欧美视频免费一区二区三区| 美女被操91视频| 无码精品福利一区二区三区| 色屁屁一区二区三区视频国产| 91探花国产综合在线精品| 日韩久久精品无码aV| 欧美精品亚洲精品日韩专区va| 精品無碼一區在線觀看 | 免费久久一级欧美特大黄| 欧美笫一页| 久久精品免费国产大片| 国产美女自慰在线观看| 亚洲视频无码| 亚洲国产精品久久久久秋霞影院| 宅男噜噜噜66国产在线观看| 精品三级在线| 亚洲—日韩aV在线| 国产欧美日韩另类| 亚洲最大福利视频网| 麻豆AV网站免费进入| 无码人中文字幕| 91小视频在线| 狠狠五月天中文字幕| 色哟哟精品无码网站在线播放视频| hezyo加勒比一区二区三区| 在线精品亚洲一区二区古装| 亚洲性视频网站| 色偷偷一区二区三区| 极品国产在线| 欧美翘臀一区二区三区| 波多野结衣在线se| 国产精品免费福利久久播放| 精品国产欧美精品v| 亚洲天堂免费在线视频| 日韩精品资源| 欧美国产在线看| 热99精品视频| 精品人妻无码中字系列| 91精品国产综合久久香蕉922| 无码区日韩专区免费系列| 国产97公开成人免费视频| 成人亚洲天堂| 国产精品爽爽va在线无码观看| 九九香蕉视频| 国产一区二区精品福利| 亚洲动漫h| 久久性妇女精品免费| 五月婷婷亚洲综合| 亚洲人成网站色7777| 久久性妇女精品免费| 456亚洲人成高清在线| 精品成人一区二区| 亚洲欧洲日产无码AV| 在线永久免费观看的毛片| 97人人模人人爽人人喊小说| 老色鬼欧美精品| 欧美人在线一区二区三区|