應(yīng)用組件中交易調(diào)用的處理方法和裝置的制造方法
【專利摘要】本發(fā)明提供了應(yīng)用組件中交易調(diào)用的處理方法和裝置。該方法包括:將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,其中,所述預(yù)定工程結(jié)構(gòu)包括:各應(yīng)用組件所需的公共方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程;對(duì)所述公共方法工程、所述模塊工程和所述打包部署工程進(jìn)行配置;將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問應(yīng)用組件的交易的報(bào)文對(duì)象。根據(jù)本發(fā)明,能夠在不修改應(yīng)用組件代碼的前提下,在合并部署時(shí),使一個(gè)模塊可以訪問另一模塊的交易。
【專利說明】
應(yīng)用組件中交易調(diào)用的處理方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及應(yīng)用組件處理,更為具體而言,涉及一種應(yīng)用組件中交易調(diào)用的處理 方法和裝置。
【背景技術(shù)】
[0002] 在銀行產(chǎn)品系統(tǒng)的應(yīng)用組件開發(fā)中,具有實(shí)現(xiàn)各種不同功能的應(yīng)用組件,不同的 應(yīng)用組件通常由不同的開發(fā)人員開發(fā),代碼的書寫習(xí)慣和風(fēng)格也各不相同。這些不同功能 的應(yīng)用組件可以接收聯(lián)機(jī)交易,也可以被其他模塊調(diào)用。然而,在將應(yīng)用組件基于應(yīng)用的需 要進(jìn)行部署的過程中,通常需要對(duì)應(yīng)用組件的相關(guān)代碼進(jìn)行修改,由于不同應(yīng)用組件的代 碼書寫習(xí)慣和風(fēng)格等各不相同,導(dǎo)致部署中代碼的修改處理需要花費(fèi)大量的時(shí)間和精力, 從而導(dǎo)致應(yīng)用組件部署的整體效率較低。
【發(fā)明內(nèi)容】
[0003] 為解決上述技術(shù)問題,本發(fā)明提供了一種應(yīng)用組件中交易調(diào)用的處理方法,能夠 在不修改應(yīng)用組件代碼的前提下,在應(yīng)用組件合并部署時(shí),使一個(gè)模塊工程可以訪問另一 模塊工程的交易。
[0004] 根據(jù)本發(fā)明實(shí)施方式的第一方面,提供了一種應(yīng)用組件中交易調(diào)用的處理方法, 所述方法包括:將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,其中,所述預(yù)定工程結(jié)構(gòu)包括: 各應(yīng)用組件所需的公共方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程,所述公共 方法工程定義交易的報(bào)文對(duì)象基類,所述模塊工程包括交易的報(bào)文對(duì)象并且依賴于所述公 共方法工程;對(duì)所述公共方法工程、所述模塊工程和所述打包部署工程進(jìn)行配置;將所述公 共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程的代碼和配置 合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問應(yīng)用組件的交易的報(bào)文對(duì) 象。
[0005] 在本發(fā)明的一些實(shí)施方式中,所述對(duì)所述公共方法工程、所述模塊工程和所述打 包部署工程進(jìn)行配置包括:對(duì)所述公共方法工程的公共表的數(shù)據(jù)庫訪問文件、公共代碼中 的錯(cuò)誤碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)所述打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配 置;對(duì)所述模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、所屬應(yīng)用組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描述、 聯(lián)機(jī)報(bào)文映射關(guān)系、所屬應(yīng)用組件提供的交易碼與服務(wù)類的映射關(guān)系以及所述模塊工程關(guān) 聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。
[0006] 在本發(fā)明的一些實(shí)施方式中,通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入 參數(shù)的跨模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象。
[0007] 在本發(fā)明的一些實(shí)施方式中,通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入 參數(shù)的跨模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:保存當(dāng)前交易碼和當(dāng)前交易環(huán)境 變量,構(gòu)建所述交易碼和所述交易碼對(duì)應(yīng)的交易環(huán)境變量作為新的交易環(huán)境,在所述新的 交易環(huán)境中從本地服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)類,將所述被調(diào)用交易的輸 入報(bào)文對(duì)象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象,銷毀所述新的交易環(huán)境,恢 復(fù)所述當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出報(bào)文對(duì)象。
[0008] 在本發(fā)明的一些實(shí)施方式中,通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入 參數(shù)的跨模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:從遠(yuǎn)端服務(wù)注冊(cè)目錄中查詢所述 交易碼對(duì)應(yīng)的服務(wù)器的地址信息;將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文 發(fā)送到所述服務(wù)器的地址信息對(duì)應(yīng)的服務(wù)器;接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將 所述輸出數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。
[0009] 在本發(fā)明的一些實(shí)施方式中,所述方法還包括:定期生成模塊工程,并將所述定期 生成的模塊工程打包成jar包,其中,所述定期生成的模塊工程的代碼來源于每個(gè)模塊工程 的接口對(duì)象。
[0010]根據(jù)本發(fā)明實(shí)施方式的第二方面,提供了一種應(yīng)用組件中交易調(diào)用的處理裝置, 所述裝置包括:預(yù)處理模塊,用于將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,其中,所述預(yù) 定工程結(jié)構(gòu)包括:各應(yīng)用組件所需的公共方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部 署工程,所述公共方法工程定義交易的報(bào)文對(duì)象基類,所述模塊工程包括交易的報(bào)文對(duì)象 并且依賴于所述公共方法工程;以及,對(duì)所述公共方法工程、所述模塊工程和所述打包部署 工程進(jìn)行配置;合并模塊,將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和 配置和所述模塊工程的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程 能夠訪問應(yīng)用組件的交易的報(bào)文對(duì)象。
[0011] 在本發(fā)明的一些實(shí)施方式中,所述預(yù)處理模塊對(duì)所述公共方法工程、所述模塊工 程和所述打包部署工程進(jìn)行配置包括:對(duì)所述公共方法工程的公共表的數(shù)據(jù)庫訪問文件、 公共代碼中的錯(cuò)誤碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)所述打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和日 志進(jìn)行配置;對(duì)所述模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、所屬應(yīng)用組件內(nèi)的錯(cuò)誤碼映射到 錯(cuò)誤描述、聯(lián)機(jī)報(bào)文映射關(guān)系、所屬應(yīng)用組件提供的交易碼與服務(wù)類的映射關(guān)系以及所述 模塊工程關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。
[0012] 在本發(fā)明的一些實(shí)施方式中,所述裝置還包括:跨模塊調(diào)用接口,該接口用于以交 易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象。
[0013] 在本發(fā)明的一些實(shí)施方式中,所述接口以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為 輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:保存當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,構(gòu) 建所述交易碼和所述交易碼對(duì)應(yīng)的交易環(huán)境變量作為新的交易環(huán)境,在所述新的交易環(huán)境 中從本地服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)類,將所述被調(diào)用交易的輸入報(bào)文對(duì) 象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象,銷毀所述新的交易環(huán)境,恢復(fù)所述當(dāng) 前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出報(bào)文對(duì)象。
[0014] 在本發(fā)明的一些實(shí)施方式中,所述接口以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為 輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:從遠(yuǎn)端服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì) 應(yīng)的服務(wù)器的地址信息;將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文發(fā)送到所 述服務(wù)器的地址信息對(duì)應(yīng)的服務(wù)器;接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將所述輸出 數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。
[0015] 在本發(fā)明的一些實(shí)施方式中,所述裝置還包括:單獨(dú)部署模塊,用于定期生成模塊 工程,并將所述定期生成的模塊工程打包成jar包,其中,所述定期生成的模塊工程的代碼 來源于每個(gè)模塊工程的接口對(duì)象。
[0016] 本發(fā)明實(shí)施方式提供的應(yīng)用組件中交易調(diào)用的方法和裝置,在不修改應(yīng)用組件代 碼的前提下,合并部署和單獨(dú)部署均能夠使一個(gè)模塊工程訪問另一模塊工程的聯(lián)機(jī)交易。
【附圖說明】
[0017] 圖1是根據(jù)本發(fā)明一種實(shí)施方式的應(yīng)用組件中交易調(diào)用的處理方法的流程示意 圖。
[0018] 圖2是根據(jù)本發(fā)明一種實(shí)施方式的應(yīng)用組件中交易調(diào)用的處理裝置的結(jié)構(gòu)示意 圖。
【具體實(shí)施方式】
[0019] 以下結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明的各個(gè)方面進(jìn)行詳細(xì)闡述。其中,眾所周 知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細(xì)說明。并且,所 描述的特征、架構(gòu)或功能可在一個(gè)或一個(gè)以上實(shí)施方式中以任何方式組合。本領(lǐng)域技術(shù)人 員應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說明,而非用于限制本發(fā)明的保護(hù)范圍。還可 以容易理解,本文所述和附圖所示的各實(shí)施方式中的模塊或單元或處理方式可以按各種不 同配置進(jìn)行組合和設(shè)計(jì)。
[0020] 本發(fā)明實(shí)施方式的應(yīng)用組件可以指業(yè)務(wù)功能、業(yè)務(wù)流程、實(shí)現(xiàn)模式相近,針對(duì)同一 類別業(yè)務(wù)產(chǎn)品或服務(wù)的具體實(shí)現(xiàn)的集合。產(chǎn)品服務(wù)系統(tǒng)是由基礎(chǔ)技術(shù)組件和應(yīng)用組件組 成,可以接收/發(fā)送聯(lián)機(jī)交易、處理業(yè)務(wù)邏輯的系統(tǒng)。交易通常為聯(lián)機(jī)交易,還可以是與聯(lián)機(jī) 交易類似的其他交易。
[0021] 圖1是根據(jù)本發(fā)明一種實(shí)施方式的應(yīng)用組件中交易調(diào)用的處理方法的流程示意 圖。
[0022]參見圖1,本發(fā)明的應(yīng)用組件中交易調(diào)用的處理方法可包括:步驟S11、步驟S12和 步驟S13,接下來對(duì)上面三個(gè)步驟進(jìn)行具體說明。
[0023]步驟S11,將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,例如,可以將應(yīng)用組件按照 預(yù)定工程結(jié)構(gòu)進(jìn)行代碼開發(fā)。其中,預(yù)定工程結(jié)構(gòu)包括:各應(yīng)用組件所需的公共方法工程、 各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程,其中,公共方法工程定義交易的報(bào)文對(duì)象基 類,模塊工程包括交易的報(bào)文對(duì)象并且依賴于公共方法工程。公共方法工程可以使用XXX-C0MM0N形式進(jìn)行命名,屬于java工程,其中,XXX為應(yīng)用組件的名稱,XXX-C0MM0N為名稱為 XXX的應(yīng)用組件所需要的公共方法;模塊工程可以使用XXX-PR0D-YY形式進(jìn)行命名,屬于web 工程,其中,XXX為應(yīng)用組件的名稱,YY為細(xì)分的模塊,XXX-PR0D-YY為名稱為XXX的應(yīng)用組件 內(nèi)細(xì)分的模塊工程;打包部署工程可以使用XXX-DEPL0Y形式進(jìn)行命名,屬于java工程,其 中,XXX為應(yīng)用組件的名稱,XXX-DEPL0Y為打包部署工程,定義公共配置文件。
[0024]在一種具體的實(shí)施例中,預(yù)定的工程結(jié)構(gòu)可以如下表1。
[0025]表 1
[0027] XXX-C0MM0N工程中定義了報(bào)文對(duì)象基類,包括輸入報(bào)文對(duì)象基類Base InVo和輸出 報(bào)文對(duì)象基類Base0utV〇;XXX-PR0D-YY工程中有聯(lián)機(jī)交易服務(wù)相關(guān)邏輯及配置文件,依賴 于XXX-C0MM0N工程,XXX-PR0D-YY工程中有一個(gè)包vo (指的是接口對(duì)象)專門放置報(bào)文對(duì)象 InVo和OutVo,也就是一只交易的輸入值合集對(duì)象、輸出值合集對(duì)象。每個(gè)PROD工程可以作 為Web工程單獨(dú)部署。COMMON工程和PROD工程都使用Spring框架作為bean注冊(cè)獲取工具和 事務(wù)管理工具,能夠提供統(tǒng)一的對(duì)象容器,有助于實(shí)現(xiàn)單例,管理對(duì)象;方便面向接口編程; 支持JDBC和集成0RM框架等等。Spring提供了基于aop的聲明式事務(wù)管理機(jī)制,使得應(yīng)用代 碼中不需要顯式地調(diào)用開啟事務(wù)、提交/回滾事務(wù)等操作,降低出錯(cuò)風(fēng)險(xiǎn)等。需要說明的是, 在另外一些實(shí)施方式中,COMMON工程和PROD工程都可以不使用Spring框架,而是采用其他 方式。
[0028] 步驟S12,對(duì)開發(fā)出的公共方法工程、模塊工程和打包部署工程進(jìn)行配置。具體而 言,可包括:對(duì)各應(yīng)用組件的公共方法工程的公共表的數(shù)據(jù)庫訪問文件、公共代碼中的錯(cuò)誤 碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)應(yīng)用組件的打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配 置;對(duì)各應(yīng)用組件中模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、該模塊工程所屬應(yīng)用組件內(nèi)的錯(cuò) 誤碼映射到錯(cuò)誤描述、聯(lián)機(jī)報(bào)文映射關(guān)系、該模塊工程所屬應(yīng)用組件提供的交易碼與服務(wù) 類的映射關(guān)系以及所述模塊工程關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。需要指出的是,上述的公 共方法工程、打包配置工程和模塊工程的配置并不僅限于上述列出的配置,還可包括其他 的配置。
[0029] 在一種具體的實(shí)施例中,對(duì)公共方法工程的配置可包括對(duì)公共表的數(shù)據(jù)庫訪問文 件進(jìn)行配置(例如,ibatis的sql-map文件、sql-map-config文件)以及對(duì)公共代碼中涉及到 的錯(cuò)誤碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)打包部署工程的配置可包括對(duì)合并部署的配置,例 如,對(duì)關(guān)聯(lián)的數(shù)據(jù)源、日志的配置,以使該工程能夠獨(dú)立運(yùn)行;對(duì)模塊工程的配置可以是對(duì) 模塊工程的聯(lián)機(jī)交易服務(wù)注冊(cè)配置,包括:該模塊工程所屬的應(yīng)用組件的關(guān)聯(lián)表的數(shù)據(jù)庫 訪問文件配置(例如,ibatis的sql-map文件、sql-map-conf ig文件)、該模塊工程所屬應(yīng)用 組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描述的配置,聯(lián)機(jī)報(bào)文映射關(guān)系配置(報(bào)文->inV〇,〇utV〇->報(bào) 文),該模塊工程所屬的應(yīng)用組件提供的交易碼_>服務(wù)類的映射關(guān)系,還有工程相關(guān)的配置 如數(shù)據(jù)源配置、日志配置等使得該模塊工程可以獨(dú)立運(yùn)行。
[0030] 步驟S13,將公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述 模塊工程的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問應(yīng) 用組件的交易的報(bào)文對(duì)象。具體而言,在合并部署時(shí),將XXX-C0MM0N的所有代碼和配置、 XXX-DEPL0Y的所有代碼和配置、每個(gè)XXX-PR0D-YY工程的代碼和聯(lián)機(jī)交易服務(wù)注冊(cè)配置合 并,并打成一個(gè)war包部署,這樣每個(gè)PROD工程也可以訪問到應(yīng)用組件內(nèi)每一只交易的報(bào)文 對(duì)象。DEPLOY工程由于主要放置公共的配置文件,在一些情形下,DEPLOY工程和PROD工程可 能會(huì)有沖突,例如,名稱一樣,這是由于PROD工程會(huì)有一些用于單獨(dú)部署的配置文件的名稱 與DEPLOY工程中的公共配置文件的名稱一樣。在這樣的情形下,以DEPLOY工程的公共配置 文件的名稱為準(zhǔn)。
[0031] 上面描述了合并部署的情形,本發(fā)明的應(yīng)用組件中交易調(diào)用的方法除了包括合并 部署的情形之外,還可包括單獨(dú)部署的情形,在單獨(dú)部署的情形下,本發(fā)明的方法還可包 括:定期生成模塊工程,并將定期生成的模塊工程打包成jar包,其中,定期生成的模塊工程 的代碼來源于每個(gè)模塊工程的接口對(duì)象,也就是一只交易的輸入值合集對(duì)象、輸出值合集 對(duì)象。在一種具體的實(shí)施例中,在開發(fā)階段和單獨(dú)部署時(shí),定期生成XXX-PR0D-V0的工程并 打成jar包,該工程的代碼來源于每個(gè)PROD工程的V0(接口對(duì)象,一只交易的輸入值合集對(duì) 象、輸出值合集對(duì)象),這個(gè)V0工程編譯出來的jar包被各個(gè)PROD工程依賴。這樣,每個(gè)PROD 工程可以訪問到該應(yīng)用組件內(nèi)每一只交易的報(bào)文對(duì)象。通過上述方式可以在本模塊訪問其 他模塊的報(bào)文對(duì)象。本發(fā)明的方法還可包括提供跨模塊調(diào)用接口,能夠在本模塊訪問其他 模塊的聯(lián)機(jī)交易服務(wù)??缒K調(diào)用接口使用交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入 參數(shù),將被調(diào)用交易的輸出報(bào)文對(duì)象作為輸出參數(shù),也就是說,根據(jù)交易碼和被調(diào)用交易的 輸入報(bào)文對(duì)象確定被調(diào)用交易的輸出報(bào)文對(duì)象。例如,在一種具體實(shí)施例中,跨模塊調(diào)用接 口可以使用下述的形式:
[0032] BaseOutVo invoke(String serviceId,BaseInVo remotelnVo)
[0033]其中,輸入?yún)?shù)為字符串string形式的交易碼serviceid和輸入報(bào)文對(duì)象基類 BaselnVo,輸出參數(shù)為輸出報(bào)文對(duì)象基類BaseOutVo。
[0034] 本發(fā)明的跨模塊調(diào)用接口有兩個(gè)實(shí)現(xiàn)類,分別是本地調(diào)用實(shí)現(xiàn)類和遠(yuǎn)程調(diào)用實(shí)現(xiàn) 類。
[0035] 對(duì)于本地調(diào)用實(shí)現(xiàn),通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)的跨 模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括包括:保存當(dāng)前交易碼和當(dāng)前交易環(huán)境變量 (例如,可以使用threadlocal機(jī)制創(chuàng)建的線程級(jí)的交換區(qū),在其中放置當(dāng)前系統(tǒng)的一些配 置,如營(yíng)業(yè)日期、是否對(duì)外營(yíng)業(yè)、是否處于日終狀態(tài)等))以及當(dāng)前交易的報(bào)文對(duì)象等,構(gòu)建 輸入?yún)?shù)中的交易碼和該交易碼對(duì)應(yīng)的交易環(huán)境變量(例如,營(yíng)業(yè)日期、是否對(duì)外營(yíng)業(yè)、是 否處于日終狀態(tài)等環(huán)境變量)作為新的交易環(huán)境,在新的交易環(huán)境中從本地服務(wù)注冊(cè)目錄 (例如,可包括交易碼_>服務(wù)類beanid的K->V映射關(guān)系等)中查詢所述交易碼對(duì)應(yīng)的服務(wù) 類,將所述被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象, 銷毀所述新的交易環(huán)境,恢復(fù)所述當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出報(bào)文 對(duì)象。
[0036] 在一種具體的實(shí)施方式中,本地調(diào)用實(shí)現(xiàn)可包括下述步驟:保存原交易現(xiàn)場(chǎng),例 如,使用threadlocal機(jī)制創(chuàng)建的線程級(jí)的交換區(qū),在該交換區(qū)中放置當(dāng)前交易碼、當(dāng)前交 易的環(huán)境變量和當(dāng)前交易的報(bào)文對(duì)象等;構(gòu)造新的交易環(huán)境,例如,使用輸入的交易碼以及 該交易碼對(duì)應(yīng)的新的環(huán)境變量等;從本地服務(wù)注冊(cè)目錄中查詢新的交易碼對(duì)應(yīng)的服務(wù)類, 調(diào)用該服務(wù)類,傳入輸入報(bào)文對(duì)象;得到輸出報(bào)文對(duì)象,銷毀新交易的交易環(huán)境;恢復(fù)原交 易現(xiàn)場(chǎng),例如,恢復(fù)交換區(qū)中放置的當(dāng)前交易碼、當(dāng)前交易的環(huán)境變量和當(dāng)前交易的報(bào)文對(duì) 象等;返回輸出報(bào)文對(duì)象。
[0037] 對(duì)于遠(yuǎn)程調(diào)用實(shí)現(xiàn),通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)的跨 模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:從遠(yuǎn)端服務(wù)注冊(cè)目錄(例如,可包括交易 碼_>服務(wù)器ip的κ->ν映射關(guān)系)中查詢所述交易碼對(duì)應(yīng)的服務(wù)器的地址信息(例如,服務(wù)器 ip);將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文發(fā)送到所述服務(wù)器的地址信 息對(duì)應(yīng)的服務(wù)器,遠(yuǎn)端服務(wù)器有交易碼與服務(wù)類beanid的映射關(guān)系,在接收到輸入數(shù)據(jù)報(bào) 文之后,將輸入數(shù)據(jù)報(bào)文轉(zhuǎn)換成報(bào)文對(duì)象InVo,調(diào)用指定交易對(duì)應(yīng)的服務(wù)類,生成輸出報(bào)文 對(duì)象OutVo,再轉(zhuǎn)換為輸出數(shù)據(jù)報(bào)文;接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將所述輸出 數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。
[0038] 在一種具體的實(shí)施例中,遠(yuǎn)程調(diào)用實(shí)現(xiàn)可包括:從遠(yuǎn)端服務(wù)注冊(cè)目錄中查詢交易 碼(即接口的輸入?yún)?shù)之一:交易碼)對(duì)應(yīng)的服務(wù)器id;將本地輸入報(bào)文對(duì)象(即接口的輸入 參數(shù)之一:被調(diào)用交易的輸入報(bào)文對(duì)象)轉(zhuǎn)換成輸入數(shù)據(jù)報(bào)文,根據(jù)查詢到的服務(wù)器id發(fā)送 到指定的服務(wù)器,該指定服務(wù)器將輸入數(shù)據(jù)報(bào)文轉(zhuǎn)換成報(bào)文對(duì)象InVo,調(diào)用指定交易對(duì)象 的服務(wù)類,生成OutVo,再轉(zhuǎn)換成返回的輸出數(shù)據(jù)報(bào)文。
[0039] 在合并部署時(shí),可以將本地調(diào)用實(shí)現(xiàn)類注冊(cè)在spring容器中,id為一個(gè)固定的id; 在單獨(dú)部署時(shí),可以將遠(yuǎn)程調(diào)用實(shí)現(xiàn)類注冊(cè)在spring容器中,id與合并部署時(shí)的固定id相 同;應(yīng)用代碼中要調(diào)用其他模塊時(shí),統(tǒng)一注入該固定id的javabean調(diào)用接口方法即可。這樣 同一套應(yīng)用代碼無論在合并部署模式還是獨(dú)立部署模式下,都可以訪問到其他模塊的交 易。
[0040] 上面結(jié)合具體實(shí)施例描述了本發(fā)明的應(yīng)用組件中交易調(diào)用的方法,下面將結(jié)合具 體實(shí)施例描述與上述方法對(duì)應(yīng)的裝置。
[0041] 圖2是根據(jù)本發(fā)明一種實(shí)施方式的應(yīng)用組件中交易調(diào)用的處理裝置的結(jié)構(gòu)示意 圖。
[0042]參見圖2,本發(fā)明的應(yīng)用組件中交易調(diào)用的處理裝置可包括預(yù)處理模塊21和合并 模塊22。
[0043]預(yù)處理模塊21可用于將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,例如,可以將應(yīng) 用組件按照預(yù)定工程結(jié)構(gòu)進(jìn)行代碼開發(fā),其中,預(yù)定工程結(jié)構(gòu)包括:各應(yīng)用組件所需的公共 方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程,其中,公共方法工程定義交易的報(bào) 文對(duì)象基類,模塊工程包括交易的報(bào)文對(duì)象并且依賴于公共方法工程。公共方法工程可以 使用XXX-C0MM0N形式進(jìn)行命名,屬于java工程,其中,XXX為應(yīng)用組件的名稱,XXX-C0MM0N為 名稱為XXX的應(yīng)用組件所需要的公共方法;模塊工程可以使用XXX-PR0D-YY形式進(jìn)行命名, 屬于web工程,其中,XXX為應(yīng)用組件的名稱,YY為細(xì)分的模塊,XXX-PROD-YY為名稱為XXX的 應(yīng)用組件內(nèi)細(xì)分的模塊工程;打包部署工程可以使用XXX-DEPLOY形式進(jìn)行命名,屬于java 工程,其中,XXX為應(yīng)用組件的名稱,XXX-DEPLOY為打包部署工程,定義公共配置文件。在一 種具體的實(shí)施例中,預(yù)定的工程結(jié)構(gòu)可以如表1。
[0044] 預(yù)處理模塊21還可用于對(duì)開發(fā)出的公共方法工程、模塊工程和打包部署工程進(jìn)行 配置。具體而言,可包括:對(duì)各應(yīng)用組件的公共方法工程的公共表的數(shù)據(jù)庫訪問文件、公共 代碼中的錯(cuò)誤碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)應(yīng)用組件的打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和 日志進(jìn)行配置;對(duì)各應(yīng)用組件中模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、該模塊工程所屬應(yīng)用 組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描述、聯(lián)機(jī)報(bào)文映射關(guān)系、該模塊工程所屬應(yīng)用組件提供的交 易碼與服務(wù)類的映射關(guān)系以及所述模塊工程關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。需要指出的 是,上述的公共方法工程、打包配置工程和模塊工程的配置并不僅限于上述列出的配置,還 可包括其他的配置。
[0045] 在一種具體的實(shí)施例中,對(duì)公共方法工程的配置可包括對(duì)公共表的數(shù)據(jù)庫訪問文 件進(jìn)行配置(例如,ibatis的sql-map文件、sql-map-config文件)以及對(duì)公共代碼中涉及到 的錯(cuò)誤碼映射到錯(cuò)誤描述進(jìn)行配置;對(duì)打包部署工程的配置可包括對(duì)合并部署的配置,例 如,對(duì)關(guān)聯(lián)的數(shù)據(jù)源、日志的配置,以使該工程能夠獨(dú)立運(yùn)行;對(duì)模塊工程的配置可以是對(duì) 模塊工程的聯(lián)機(jī)交易服務(wù)注冊(cè)配置,包括:該模塊工程所屬的應(yīng)用組件的關(guān)聯(lián)表的數(shù)據(jù)庫 訪問文件配置(例如,ibatis的sql-map文件、sql-map-config文件)、該模塊工程所屬應(yīng)用 組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描述的配置,聯(lián)機(jī)報(bào)文映射關(guān)系配置(報(bào)文->inV 〇,〇utV〇->報(bào) 文),該模塊工程所屬的應(yīng)用組件提供的交易碼_>服務(wù)類的映射關(guān)系,還有工程相關(guān)的配置 如數(shù)據(jù)源配置、日志配置等使得該模塊工程可以獨(dú)立運(yùn)行。
[0046] 合并模塊22將公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所 述模塊工程的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問 應(yīng)用組件的交易的報(bào)文對(duì)象。具體而言,在合并部署時(shí),將XXX-C0MM0N的所有代碼和配置、 XXX-DEPLOY的所有代碼和配置、每個(gè)XXX-PR0D-YY工程的代碼和聯(lián)機(jī)交易服務(wù)注冊(cè)配置合 并,并打成一個(gè)war包部署,這樣每個(gè)PROD工程也可以訪問到應(yīng)用組件內(nèi)每一只交易的報(bào)文 對(duì)象。DEPLOY工程由于主要放置公共的配置文件,在一些情形下,DEPLOY工程和PROD工程可 能會(huì)有沖突,例如,名稱一樣,這是由于PROD工程會(huì)有一些用于單獨(dú)部署的配置文件的名稱 與DEPLOY工程中的公共配置文件的名稱一樣。在這樣的情形下,以DEPLOY工程的公共配置 文件的名稱為準(zhǔn)。
[0047] 上面描述了合并部署的情形,本發(fā)明的應(yīng)用組件中交易調(diào)用的方法除了包括合并 部署的情形之外,還可包括單獨(dú)部署的情形,在單獨(dú)部署的情形下,本發(fā)明的裝置還可包 括:單獨(dú)部署模塊,其定期生成模塊工程,并將定期生成的模塊工程打包成jar包,其中,定 期生成的模塊工程的代碼來源于每個(gè)模塊工程的接口對(duì)象,也就是一只交易的輸入值合集 對(duì)象、輸出值合集對(duì)象。在一種具體的實(shí)施例中,在開發(fā)階段和單獨(dú)部署時(shí),定期生成XXX-PR0D-V0的工程并打成jar包,該工程的代碼來源于每個(gè)PROD工程的V0(接口對(duì)象,一只交易 的輸入值合集對(duì)象、輸出值合集對(duì)象),這個(gè)V0工程編譯出來的jar包被各個(gè)PROD工程依賴。 這樣,每個(gè)PROD工程可以訪問到該應(yīng)用組件內(nèi)每一只交易的報(bào)文對(duì)象。
[0048] 通過上述方式可以在本模塊訪問其他模塊的報(bào)文對(duì)象。本發(fā)明的裝置還可包括跨 模塊調(diào)用接口,能夠在本模塊訪問其他模塊的聯(lián)機(jī)交易服務(wù)。跨模塊調(diào)用接口使用交易碼 和被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入?yún)?shù),將被調(diào)用交易的輸出報(bào)文對(duì)象作為輸出參 數(shù),也就是說,根據(jù)交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象確定被調(diào)用交易的輸出報(bào)文對(duì)象。
[0049] 本發(fā)明的跨模塊調(diào)用接口有兩個(gè)實(shí)現(xiàn)類,分別是本地調(diào)用實(shí)現(xiàn)類和遠(yuǎn)程調(diào)用實(shí)現(xiàn) 類。
[0050] 對(duì)于本地調(diào)用實(shí)現(xiàn),通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)的跨 模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括包括:保存當(dāng)前交易碼和當(dāng)前交易環(huán)境變量 (例如,可以使用threadlocal機(jī)制創(chuàng)建的線程級(jí)的交換區(qū),在其中放置當(dāng)前系統(tǒng)的一些配 置,如營(yíng)業(yè)日期、是否對(duì)外營(yíng)業(yè)、是否處于日終狀態(tài)等))以及當(dāng)前交易的報(bào)文對(duì)象等,構(gòu)建 輸入?yún)?shù)中的交易碼和該交易碼對(duì)應(yīng)的交易環(huán)境變量(例如,營(yíng)業(yè)日期、是否對(duì)外營(yíng)業(yè)、是 否處于日終狀態(tài)等環(huán)境變量)作為新的交易環(huán)境,在新的交易環(huán)境中從本地服務(wù)注冊(cè)目錄 (例如,可包括交易碼_>服務(wù)類beanid的K->V映射關(guān)系等)中查詢所述交易碼對(duì)應(yīng)的服務(wù) 類,將所述被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象, 銷毀所述新的交易環(huán)境,恢復(fù)所述當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出報(bào)文 對(duì)象。
[0051] 對(duì)于遠(yuǎn)程調(diào)用實(shí)現(xiàn),通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)的跨 模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括:從遠(yuǎn)端服務(wù)注冊(cè)目錄(例如,可包括交易 碼_>服務(wù)器ip的K->V映射關(guān)系)中查詢所述交易碼對(duì)應(yīng)的服務(wù)器的地址信息(例如,服務(wù)器 ip);將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文發(fā)送到所述服務(wù)器的地址信 息對(duì)應(yīng)的服務(wù)器,遠(yuǎn)端服務(wù)器有交易碼與服務(wù)類beanid的映射關(guān)系,在接收到輸入數(shù)據(jù)報(bào) 文之后,將輸入數(shù)據(jù)報(bào)文轉(zhuǎn)換成報(bào)文對(duì)象InVo,調(diào)用指定交易對(duì)應(yīng)的服務(wù)類,生成輸出報(bào)文 對(duì)象OutVo,再轉(zhuǎn)換為輸出數(shù)據(jù)報(bào)文;接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將所述輸出 數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。
[0052] 在合并部署時(shí),可以將本地調(diào)用實(shí)現(xiàn)類注冊(cè)在spring容器中,id為一個(gè)固定的id; 在獨(dú)立部署時(shí),可以將遠(yuǎn)程調(diào)用實(shí)現(xiàn)類注冊(cè)在spring容器中,id與合并部署時(shí)的固定id相 同;應(yīng)用代碼中要調(diào)用其他模塊時(shí),統(tǒng)一注入該固定id的javabean調(diào)用接口方法。這樣同一 套應(yīng)用代碼無論在合并部署模式還是獨(dú)立部署模式下,都可以訪問到其他模塊的交易。
[0053] 通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助 軟件結(jié)合硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)【背景技術(shù)】做出貢 獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介 質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算 機(jī),服務(wù)器,智能手機(jī)或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述 的方法。
[0054]本發(fā)明說明書中使用的術(shù)語和措辭僅僅為了舉例說明,并不意味構(gòu)成限定。本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)理解,在不脫離所公開的實(shí)施方式的基本原理的前提下,對(duì)上述實(shí)施方式 中的各細(xì)節(jié)可進(jìn)行各種變化。因此,本發(fā)明的范圍只由權(quán)利要求確定,在權(quán)利要求中,除非 另有說明,所有的術(shù)語應(yīng)按最寬泛合理的意思進(jìn)行理解。
【主權(quán)項(xiàng)】
1. 一種應(yīng)用組件中交易調(diào)用的處理方法,其特征在于,所述方法包括: 將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,其中,所述預(yù)定工程結(jié)構(gòu)包括:各應(yīng)用組件 所需的公共方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程,所述公共方法工程定 義交易的報(bào)文對(duì)象基類,所述模塊工程包括交易的報(bào)文對(duì)象并且依賴于所述公共方法工 程; 對(duì)所述公共方法工程、所述模塊工程和所述打包部署工程進(jìn)行配置; 將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程 的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問應(yīng)用組件的 交易的報(bào)文對(duì)象。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述公共方法工程、所述模塊工程 和所述打包部署工程進(jìn)行配置包括: 對(duì)所述公共方法工程的公共表的數(shù)據(jù)庫訪問文件、公共代碼中的錯(cuò)誤碼映射到錯(cuò)誤描 述進(jìn)行配置; 對(duì)所述打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置; 對(duì)所述模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、所屬應(yīng)用組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描 述、聯(lián)機(jī)報(bào)文映射關(guān)系、所屬應(yīng)用組件提供的交易碼與服務(wù)類的映射關(guān)系以及所述模塊工 程關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)的跨模塊接口確定被調(diào)用交 易的輸出報(bào)文對(duì)象。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì) 象為輸入?yún)?shù)的跨模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括: 保存當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,構(gòu)建所述交易碼和所述交易碼對(duì)應(yīng)的交易環(huán)境 變量作為新的交易環(huán)境, 在所述新的交易環(huán)境中從本地服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)類,將所述 被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象, 銷毀所述新的交易環(huán)境,恢復(fù)所述當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出 報(bào)文對(duì)象。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,通過以交易碼和被調(diào)用交易的輸入報(bào)文對(duì) 象為輸入?yún)?shù)的跨模塊接口確定被調(diào)用交易的輸出報(bào)文對(duì)象包括: 從遠(yuǎn)端服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)器的地址信息, 將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文發(fā)送到所述服務(wù)器的地址信 息對(duì)應(yīng)的服務(wù)器, 接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將所述輸出數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易 的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 定期生成模塊工程,并將所述定期生成的模塊工程打包成jar包,其中,所述定期生成 的模塊工程的代碼來源于每個(gè)模塊工程的接口對(duì)象。7. -種應(yīng)用組件中交易調(diào)用的處理裝置,其特征在于,所述裝置包括: 預(yù)處理模塊,用于將應(yīng)用組件的代碼按照預(yù)定工程結(jié)構(gòu)約束,其中,所述預(yù)定工程結(jié)構(gòu) 包括:各應(yīng)用組件所需的公共方法工程、各應(yīng)用組件內(nèi)的模塊工程以及打包部署工程,所述 公共方法工程定義交易的報(bào)文對(duì)象基類,所述模塊工程包括交易的報(bào)文對(duì)象并且依賴于所 述公共方法工程;以及,對(duì)所述公共方法工程、所述模塊工程和所述打包部署工程進(jìn)行配 置; 合并模塊,將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所 述模塊工程的代碼和配置合并,并打包成war包進(jìn)行合并部署,以便所述模塊工程能夠訪問 應(yīng)用組件的交易的報(bào)文對(duì)象。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述預(yù)處理模塊對(duì)所述公共方法工程、所 述模塊工程和所述打包部署工程進(jìn)行配置包括: 對(duì)所述公共方法工程的公共表的數(shù)據(jù)庫訪問文件、公共代碼中的錯(cuò)誤碼映射到錯(cuò)誤描 述進(jìn)行配置; 對(duì)所述打包部署工程的關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置; 對(duì)所述模塊工程的關(guān)聯(lián)表的數(shù)據(jù)訪問文件、所屬應(yīng)用組件內(nèi)的錯(cuò)誤碼映射到錯(cuò)誤描 述、聯(lián)機(jī)報(bào)文映射關(guān)系、所屬應(yīng)用組件提供的交易碼與服務(wù)類的映射關(guān)系以及所述模塊工 程關(guān)聯(lián)的數(shù)據(jù)源和日志進(jìn)行配置。9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:跨模塊調(diào)用接口,該接口 用于以交易碼和被調(diào)用交易的輸入報(bào)文對(duì)象為輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述接口以交易碼和被調(diào)用交易的輸入 報(bào)文對(duì)象為輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象包括: 保存當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,構(gòu)建所述交易碼和所述交易碼對(duì)應(yīng)的交易環(huán)境 變量作為新的交易環(huán)境, 在所述新的交易環(huán)境中從本地服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)類,將所述 被調(diào)用交易的輸入報(bào)文對(duì)象作為輸入?yún)?shù)調(diào)用所述服務(wù)類得到輸出報(bào)文對(duì)象, 銷毀所述新的交易環(huán)境,恢復(fù)所述當(dāng)前交易碼和當(dāng)前交易環(huán)境變量,并返回所述輸出 報(bào)文對(duì)象。11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述接口以交易碼和被調(diào)用交易的輸入 報(bào)文對(duì)象為輸入?yún)?shù)確定被調(diào)用交易的輸出報(bào)文對(duì)象包括: 從遠(yuǎn)端服務(wù)注冊(cè)目錄中查詢所述交易碼對(duì)應(yīng)的服務(wù)器的地址信息, 將所述被調(diào)用交易的輸入報(bào)文對(duì)象轉(zhuǎn)換為輸入數(shù)據(jù)報(bào)文發(fā)送到所述服務(wù)器的地址信 息對(duì)應(yīng)的服務(wù)器, 接收所述服務(wù)器返回的輸出數(shù)據(jù)報(bào)文,并將所述輸出數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述被調(diào)用交易 的輸出報(bào)文對(duì)象,并返回所述輸出報(bào)文對(duì)象。12. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 單獨(dú)部署模塊,用于定期生成模塊工程,并將所述定期生成的模塊工程打包成jar包, 其中,所述定期生成的模塊工程的代碼來源于每個(gè)模塊工程的接口對(duì)象。
【文檔編號(hào)】G06F9/445GK106095424SQ201610395737
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月7日 公開號(hào)201610395737.7, CN 106095424 A, CN 106095424A, CN 201610395737, CN-A-106095424, CN106095424 A, CN106095424A, CN201610395737, CN201610395737.7
【發(fā)明人】聶砂, 白彧斐, 李卓
【申請(qǐng)人】中國(guó)建設(shè)銀行股份有限公司